Facebook RM

From Miranda NG
Jump to: navigation, search
Other languages:
беларуская • ‎čeština • ‎Deutsch • ‎English • ‎polski • ‎русский
Facebook RM
Facebook RM
Filename Facebook.dll
Authors Michal Zelinka, Robert Pösel
Download links
Stable version: 32-bit, 64-bit
Development version: 32-bit, 64-bit
Other: Smiley pack (with Emoji)
IEView template,

Facebook protocol support for Miranda NG.

Sometimes Facebook temporarily locks an account due to a suspicious activity or labels Miranda NG as some "malware who hacked an account". There is no solution at the moment. We need a developer who understands the MQTT protocol.

Main features

  • Support for searching and adding contacts
  • Support for requesting, approving and revoking friendships
  • Support for invisible status
  • Notification after someone remove you from his friends
  • Writing statuses from within your Miranda (posting to user's own wall and to wall of his friends is supported)
  • Getting newsfeeds from wall and new notifications
  • Shows contacts with "On mobile" status
  • With Fingerprint plugin shows the following clients of your contacts: website, Facebook App and Facebook Messenger

Information about statuses

  • Online — connected to fb, chat is online.
  • Invisible — connected to Facebook, chat is offline, but you can still see other people online, receive messages, newsfeeds and notifications.
  • Offline — disconnected.



  • If you can't login in your Miranda, make sure you can login in your web browser. It may be some (unsupported) security check or Facebook's fault.
  • If it works in web browser but you still can't login in Miranda, try to install and open Database Editor (be careful with it!) and delete key DeviceID in branch Settings/<account's internal name> (e.g., Facebook_1) and then try to login again.
  • If you still can't login from Miranda, you can share your working session from your web browser and use it in Miranda. DeviceID in Miranda is basically a cookie holding your session (= remembered login, so you don't need to login every time you open the website in browser). And instead of deleting it, you can set its value to the value of cookie with name "datr" from your web browser. In other words, open some kind of cookies manager in your web browser, find cookie with name "datr" from facebook.com website, and copy it's value to Miranda as DeviceID's value. This way you will share your working session from web browser with Miranda. Be careful though: This is only temporary solution and it will cause you same problems as you experienced in Miranda (showing captchas or deny sending URLs completely – it's only temporary, though).

"You need to clean your computer" error

This is a message from FB. This problem now affects more people. The solution is to login from any browser where you don't have saved cookies for Facebook (or just delete your Facebook cookies in your main browser), then the same error message will show up there and you will need to just go through the process.

While doing so, make sure you are offline in your Miranda and then delete DeviceID key (through the Database Editor in branch Settings / Facebook – or what the internal name of your account is). This value is actually a cookie which identifies a logged in user (device) – if you will keep the old one here in Miranda, Facebook will still think that this device is infected. Therefore, it is necessary to delete it before attempting to login again.

Reason of this problem is that Facebook probably changed some communication request again, so then it thinks that plugin works as a malware. Because of that it could also show captcha codes when sending links.

"Please try closing and reopening your browser window" error

Disable "Show wall posts (news feed)" option in protocol settings.

Hidden settings

To add/change these options you will need Database Editor plugin.

Setting Type Default Description
Locale String none Get Facebook errors in specific language: "en_US", "cs_CZ", etc (requires restart to apply).
NaseemsSpamMode Byte 0 1 = Don't add contacts when we send message to them from other instances, add them only when they reply.
NoChatMessageReadNotify Byte 0 1 = Ignore chat message read notify.
OpenUrlBrowser Unicode none Open URLs in different browser. The value is path to browser, in account's branch.
PagePrefix Unicode 📄 Prefix for name of "page" contacts (requires restart to apply).
PollRate Byte 24 Between 10 and 60 = Waiting time between buddy list and newsfeed parsing (in seconds).
SendMessageTries Byte 1 Between 1 and 5 = Number of tries to send message.
TimeoutsLimit Byte 3 Errors limit after which FB disconnects.


How to show stickers?

There are 3 ways to show stickers in your message window:

  1. Via SmileyAdd's "Custom smileys" – you need to enable it in FB account options, but it won't work very good:
    • it works only for single conversations
    • it works only for incoming messages
    • it works only occasionally – somehow it just won't show anything, I'm not sure why.
    • it works only on newly received messages, it usually won't show historical stickers for history messages (after Miranda restart).
    It's bad because of how it is implemented in SmileyAdd. Could be improved in future, but it must be done on SmileyAdd's side.
  2. Via IEView:
    • you need to use (or create) IEView template that has javascript code for transforming URLs to images/thumbnails (here)
      • as image URL is also shown in sticker message, you don't need some special template to work with stickers, as templates usually transform all URLs to image thumbnails (but of course you can use special code only for stickers)
    • this won't work in group chats, because IEView is not supported there.
  3. Via custom smiley pack
    • you need to prepare own smiley pack:
      • define [[sticker:123456789]] as smiley string (with different numeric IDs) and attach wanted image (manually download it)
    • you will see only stickers defined in your smiley pack (but as classic smileys = will work all the time)
    • you can also send stickers (by sending the above mentioned string as whole message – without other text).