首页 > 数据库 > 数据库开发技术 > 关于python版微信使用经验分享
本人最近在使用python版的微信做了一些模拟操作,使用的wxpy封装好的框架api,聊天机器人接入的是图灵,其他的暂时还没有功能的接入计划。
在实施的过程中遇到了很多问题,大部分是微信api过时导致了,因为本身调用的是web微信的api,我看到git上的项目已经最近的更新时间是2017年,中间很多次微信的api调整都没更新到,比如添加好友,比如被@检测等等。
今天分享一下自己的使用经验和一些自己的封装方法:
朋友列表和群列表,因为会自动同步最近活跃的群,所以如果新添加的群需要重新获取一下groups。api提供了一个search的搜索方法,使用起来稍微麻烦一些,我换了一种思路,直接下标获取好友和群。方法如下:
def fslist():fs= bot.friends()a = 0for i in fs:print aa +=1print idef gslist():gs= bot.groups()a = 0for i in gs:print aa +=1print i
直接可以通过元素索引角标直接获取元素。
撤回消息。这个我只是对原来的recall()方法做了简单封装,这里也见识了python的简洁性。主要是在调试模式中使用。
def re(*msg):if not msg == ():ms=bot.messages.search(msg)[-1]ms.recall()else:ms=bot.messages[-1]ms.recall()print ms
发送图片文件,主要也是在调试模式中使用
def sendpic(user,name):user.send_image('/Users/Vicky/Downloads/'+name)print userprint "发送了图片"+name
聊天机器人对话,本人接的图灵的,接入方法请参照[python微信+requests+图灵机器人制作聊天机器人](/blog/article/利用python wxpy和requests写一个自动应答微信机器人实例.html),我这里只写一个封装过后的方法,方便调用。现在图灵已经砍掉了免费用户使用。
def getTulingReplay(msg,friend):= ""if friend in fs:= fs.index(friend)if friend in gs:= gs.index(friend)j = dict(reqType=0,perception=dict(inputText=dict(text=msg)),=dict(apiKey="***",=userid))r = requests.post("http://openapi.tuling123.com/openapi/api/v2",json=j)info = json.loads(r.text)["results"]c = info[0]["values"]d = c.keys()m = c[d[0]]print mfriend.send(m)
保存聊天记录。这个原需求是想整理一下群聊天记录,还有那些撤回的,现在做分析用。只存本地,尚未清洗数据到数据库。只有文本信息。
由于某些web API已经不用了,所以在使用当中会遇到一些问题,可参考web端的网页功能。
点击阅读原文,有兴趣的童鞋可以一起交流,另外求粉求关注。
原文作者:FunTester;如有侵权,请联系管理员删除。