python的facebook聊天(messenger)

FBBack的Python项目详细描述


python的facebook聊天(Messenger)。这个项目的灵感来自facebook-chat-apif b back(pronuce f-b-back)是从金大勋(/@carpedm20)的fbchat叉开的。

不需要xmpp或api密钥。只要用你的身份证和密码。

安装

简单:

$ pip install FBBack

示例

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

发送消息

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

从用户ID获取用户信息

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

获取最近发送的消息

last_messages=client.getThreadInfo(friend.uid,0)last_messages.reverse()# messages come in reversed orderformessageinlast_messages:print(message.body)

Echobot示例

importFBBack# Subclass FBBack.Client and override required methodsclassEchoBot(FBBack.Client):def__init__(self,email,password,debug=True,user_agent=None):FBBack.Client.__init__(self,email,password,debug,user_agent)defon_message(self,mid,author_id,author_name,message,metadata):self.markAsDelivered(author_id,mid)#mark deliveredself.markAsRead(author_id)#mark readprint("%s said: %s"%(author_id,message))#if you are not the author, echoifstr(author_id)!=str(self.uid):self.send(author_id,message)bot=EchoBot("<email>","<password>")bot.listen()

作者

原作者:金泰勋/@carpedm20 作者:Le Goff Vincent/@vlegoff

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaEclipseMars没有保存首选项   java梯度同步失败:原因:启动失败:   java如何从嵌套的JSON获取数据?   java如何判断可观察对象中的任何对象满足一个条件?   java将字符串转换为保持相同值的byte[]数组   java有没有办法绕过AuditingEntityListener为测试设置数据?   从/usr/share/java中解析linux JAR依赖关系   安卓 My java函数抛出nullpointerexception?   java Gradle使用正确版本的依赖项   JBoss和Java6中带注释的WebService中的web服务ClassCastException   java如何修复codename one中的简单逻辑错误?   java如何迭代矩阵的索引?   java如何在JPanel不可见时将其保存为图像?   java HashMap如何在Kotlin中实现MutableMap接口?   javascript如何在单击后加载特定片段?   EclipseJava为纳什均衡获取所有玩家/策略组合   JavaSpring:Web服务REST在JSON上产生双反斜杠   java为什么ServletContext#getRealPath(“/”)返回相对路径?   java当我的游戏应该重新启动时,我应该如何处理重置SurfaceView和线程?