整体思路
将需要自动回复的好友配置在配置文件中,脚本启动后自动读取配置利用python库itchat实现微信消息的收发收到消息后,发给思知机器人去处理,得到回复消息后发送给好友前置准备
安装相关库
pip install itchatpip install requests
注册思知账号
注册思知账号,创建一个机器人,可对机器人进行设置,训练。具体使用参考官网文档:思知机器人。
当然还有很多机器人可供选择,比如图灵机器人。
代码
import requestsimport itchatimport osneedAutoAnswer = []headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36','Referer': '/',}# 机器人配置def get_data(text): data = {"appid": "思知中添加完机器人后,每个机器人有一个appid","userid": "注册思知用的邮箱就行","spoken": text,}return datadef readAutoAnswerList():global needAutoAnswer# 自动回复文件中将需要自动回复好友的备注填写上,一行一个好友file_path = os.getcwd() + '\\自动回复.txt'file = open(file_path,"r", encoding="utf-8")needAutoAnswer = [line.strip('\n') for line in file.readlines()]file.close()def get_answer(text):data = get_data(text)url = '/bot'response = requests.post(url=url, data=data, headers=headers) response.encoding = 'utf-8'result = response.json()answer = result['data']['info']['text']return answer@itchat.msg_register(itchat.content.TEXT)def text_reply(msg):friend = msg['User']['RemarkName']content = msg['Content']print('%s: %s' % (friend, content))if friend in needAutoAnswer:answer = get_answer(content)itchat.send(answer, msg['FromUserName'])print('我:%s' % answer)if __name__ == "__main__":readAutoAnswerList()itchat.auto_login(hotReload=True)itchat.run()
打包测试以及打包exe可执行文件
如何测试
运行python脚本,会生成一个微信登录的二维码图片,扫描登录成功,即可实现微信消息的自动回复
如何打包可执行文件
测试ok后,可以通过命令pyinstaller -F xxx.py
打包成可执行文件,命令执行完后,会在当前目录下创建一个dist目录,可执行文件就在该目录下。