Skip to main content

Facebook Chat (Messenger) for Python

Project description

Facebook Chat (Messenger) for Python. This project was inspired by facebook-chat-api. FBBack (pronunce F-B-Back) was forked from Taehoon Kim (/ @carpedm20)’s fbchat.

No XMPP or API key is needed. Just use your ID and PASSWORD.

Installation

Simple:

$ pip install FBBack

Example

import FBBack

client = FBBack.Client("YOUR_ID", "YOUR_PASSWORD")

Sending a Message

friends = client.getUsers("FRIEND'S NAME")  # return a list of names
friend = friends[0]
sent = client.send(friend.uid, "Your Message")
if sent:
    print("Message sent successfully!")
# IMAGES
client.sendLocalImage(friend.uid,message='<message text>',image='<path/to/image/file>') # send local image
imgurl = "http://i.imgur.com/LDQ2ITV.jpg"
client.sendRemoteImage(friend.uid,message='<message text>', image=imgurl) # send image from image url

Getting user info from user id

friend1 = client.getUsers('<friend name 1>')[0]
friend2 = client.getUsers('<friend name 2>')[0]
friend1_info = client.getUserInfo(friend1.uid) # returns dict with details
both_info = client.getUserInfo(friend1.uid,friend2.uid) # query both together, returns list of dicts
friend1_name = friend1_info['name']

Getting last messages sent

last_messages = client.getThreadInfo(friend.uid,0)
last_messages.reverse()  # messages come in reversed order

for message in last_messages:
    print(message.body)

Example Echobot

import FBBack

# Subclass FBBack.Client and override required methods

class EchoBot(FBBack.Client):

    def __init__(self, email, password, debug=True, user_agent=None):
        FBBack.Client.__init__(self, email, password, debug, user_agent)

    def on_message(self, mid, author_id, author_name, message, metadata):
        self.markAsDelivered(author_id, mid) #mark delivered
        self.markAsRead(author_id) #mark read

        print("%s said: %s"%(author_id, message))

        #if you are not the author, echo
        if str(author_id) != str(self.uid):
            self.send(author_id,message)

bot = EchoBot("<email>", "<password>")
bot.listen()

Authors

Original author: Taehoon Kim / @carpedm20 Frked by: Le Goff Vincent / @vlegoff

Release history Release notifications | RSS feed

This version

0.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for FBBack, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size FBBack-0.1.tar.gz (10.8 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page