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

Project details


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.

Source Distribution

FBBack-0.1.tar.gz (10.8 kB view details)

Uploaded Source

File details

Details for the file FBBack-0.1.tar.gz.

File metadata

  • Download URL: FBBack-0.1.tar.gz
  • Upload date:
  • Size: 10.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for FBBack-0.1.tar.gz
Algorithm Hash digest
SHA256 82fccdd0cfd5ac2d176775706f97fb7de7cc6bd5c4c3f29118cc7b5951d0407c
MD5 c09e4e812112b3ed231949259c065807
BLAKE2b-256 f5a1013822c4c4d9f41667fd47997ee3a4de945f29f81d333699d82a69c59822

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page