当前位置: 首页 > 后端技术 > Python

微信机器人的Python实现——itchat库

时间:2023-03-26 19:31:05 Python

itchat是一个开源的微信个人账号接口,你可以使用这个库来进行微信网页版的所有操作,比如:所有好友,加好友,拉好友群聊,微信机器人等。详细用户请参考这里的文档介绍。本文主要是利用该库完成一个能够处理微信消息的图灵机器人,包括好友聊天和群聊。1、itchat库安装pipinstallitchat安装完成后,运行以下代码,会出现一个二维码。扫码登录后,会登录到微信网页。2.登录importitchat#登录itchat.auto_login()#可以设置hotReload=True#运行并保持在线hotReload=True参数,下次登录时无需扫描二维码,只需在手机端确认登录即可。3.消息发送itchat库可以发送文字、图片、视频、附件等内容,比如给微信文件传输助手发送消息,可以这样做:itchat.send('Hello',toUserName='filehelper')toUserName是发送给可以点击微信手机搜索发消息人的微信号,也可以使用itchat库中的search_friends函数进行搜索,并返回微信号,详细用法,自行搜索官方文档。4.消息接收#######################完整代码################################Loadlibraryfromitchat.contentimport*importrequestsimportjsonimportitchatitchat.auto_login(hotReload=True)#调用图灵机器人的api,采用爬虫原理,根据返回回复内容到聊天消息deftuling(info):appkey="e5ccc9c7c8834ec3b08940e290ff1559"url="http://www.tuling123.com/openapi/api?key=%s&info=%s"%(appkey,info)req=requests.get(url)content=req.textdata=json.loads(content)answer=data['text']returnanswer#群聊信息,定义群ID函数获取机器人回复某个群defgroup_id(name):df=itchat.search_chatrooms(name=name)returndf[0]['UserName']#注册短信,绑定text_reply处理函数#text_replymsg_files可以处理好友之间的聊天回复@itchat.msg_register([TEXT,MAP,CARD,NOTE,SHARING])deftext_reply(msg):itchat.send('%s'%tuling(msg['Text']),msg['FromUserName'])@itchat.msg_register([图片、录音、附件、视频])defdownload_files(msg):msg['Text'](msg['FileName'])return'@%s@%s'%({'图片':'img','视频':'vid'}.get(msg['Type'],'fil'),msg['FileName'])#现在微信加了很多群,不想给所有群都设置微信机器人,只为我要设置的群微信机器人,可以这样设置@itchat.msg_register(TEXT,isGroupChat=True)defgroup_text_reply(msg):#当然,如果你只想回复@你的达人,你可以setifmsg['isAt']:item=group_id(u'你要设置的群组名称')#根据自己的需要设置ifmsg['ToUserName']==item:itchat.send(u'%s'%tuling(msg['Text']),item)itchat.run()然后,你的朋友和下面的微信群就可以和图灵机器人愉快的聊天了~~~如果你发现什么错误或者你不明白的地方懂的可以在评论区提出来,一起交流!如果文章对你有帮助,点赞+关注,你的支持是我最大的动力