如何用Python制作微信自动回复机器人,打游戏时自动回复女朋友消息

今天我们来讲如何用Python制作微信自动回复机器人,打游戏时自动回复女朋友消息

前言

自从微信网页版登录禁止后,原来的自动登录回复就失效了。接下来使用一个库PyWeChatSpy,需要pip下载

 

创建机器人

 

进入图灵机器人官网http://www.tuling123.com/,

戳进帮助中心。

注册用户

创建机器人

然后在机器人管理界面,创建图灵机器人,最多可以创建5个,由此得出对应的5个apikey。(实际上一个就够了)

apikey是针对接口访问的授权方式。

完成代码

创建一个储存图片的文件,来回复拍一拍消息
和代码放在同一个文件夹

完成代码

  • from PyWeChatSpy import WeChatSpyimport randomimport reimport jsonimport requestsimport timeuserid = str(1)# 1 可以替换成任何长度小于32的字符串哦apikey = str("")# 这里的A,记得替换成你自己的apikey~ # def robot(content):#调用机器人# # 图灵api# api = r"http://openapi.tuling123.com/openapi/api/v2"# # 创建post提交的数据# data = {# "perception": {# "inputText": {# "text": content# }# },# "userInfo": {# "apiKey": apikey,# "userId": userid,# }# }# # 转化为json格式# jsondata = json.dumps(data)# # 发起post请求# response = requests.post(api, data = jsondata)# # 将返回的json数据解码# robot_res = json.loads(response.content)# # 提取对话数据# print(robot_res["results"][0]["values"]["text"]) def my_parser(data): if data["type"] == 5: # 判断是微信消息数据 for msg in data["data"]: if (msg["self"] == 0): # 遍历微信消息 if msg["msg_type"] == 10000: # 判断是微信拍一拍系统提示 m = re.search(".*?拍了拍我。", msg["content"]) if m: # 判断为拍一拍 image_path = f"E:/images/{random.randint(1,4)}.jpg" # 随机选一张回复用的图片 itchat.send_file(msg["wxid1"], image_path) itchat.send_text(msg["wxid1"], "我可能在学习吧(自动回复)") elif msg["msg_type"] ==1:#判断为文本消息 if(re.search(".*?@chatroom",msg["wxid1"])==None):#判断不是群消息 m = re.search("在吗", msg["content"]) if m: itchat.send_text(msg["wxid1"],"我是机器人恒利,有事请留言。",) # print(msg["msg_type"]) # print(msg["self"]) # print(msg["wxid1"]) # print(data["pid"]) else: api = r"http://openapi.tuling123.com/openapi/api/v2" # 创建post提交的数据 data = { "perception": { "inputText": { "text": msg["content"] } }, "userInfo": { "apiKey": apikey, "userId": userid, } } # 转化为json格式 jsondata = json.dumps(data) # 发起post请求 response = requests.post(api, data=jsondata) # 将返回的json数据解码 robot_res = json.loads(response.content) # 提取对话数据 print(robot_res["results"][0]["values"]["text"]) #content = msg["content"] # 输入对话内容 #robot(content) itchat.send_text(msg["wxid1"], "["+robot_res["results"][0]["values"]["text"] + "(自动回复)]") itchat = WeChatSpy(parser=my_parser) # 实例化WeChatSpy类 if __name__ == "__main__":    itchat.run()  # 运行代码

效果展示