我在別人的基礎上修改了一下**,具體如下:
from pywechatspy import wechatspy
import random
import re
import json
import requests
import time
# 只支援2.8.0.133
userid = str(1)
# 1 可以替換成任何長度小於32的字串哦
apikey = str('e75a3b457d4b48eabea084b0b1006a2a')
# 這裡的apikey,記得替換成你自己的apikey(圖靈機械人)
# 指定某些給我發了--start的使用者才自動回覆。輸入--stop停止自動回覆
friends =
def my_parser(data):
for msg in data["data"]:
if (msg["self"] == 0):
print(msg["content"])
m = re.search('.*?拍了拍我。', msg["content"])
if m: # 判斷為拍一拍
image_path = f"./images/.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): # 判斷不是群訊息
if (msg["content"] == '--start'): #輸入--start 開始機械人
itchat.send_text(msg["wxid1"], "機械人開啟。", )
continue
if (msg["content"] == '--stop'): #輸入--stop 關閉機械人
friends.remove(msg['wxid1'])
itchat.send_text(msg["wxid1"], "機械人關閉。", )
continue
print(msg)
m = re.search('在嗎', msg["content"])
if msg["wxid1"] in friends: # 如果在friends陣列中就自動回覆,不在就不回覆
if m:
# print(msg["msg_type"])
# print(msg["self"])
# print(msg["wxid1"])
# print(data["pid"])
else:
api = r''
# 建立post提交的資料
data =
},"userinfo":
}# 轉化為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() # 執行**
python微信機械人自動回覆
python3環境 一.需要的包 import itchat import requests import re 圖靈機械人api 二.主要思路 三.參考 import itchat import requests import re 抓取網頁 def gethtmltext url try r r...
微信機械人 回覆指定好友
conding utf 8 from wxpy import 1.初始化機械人登入 bot bot cache path true wxpy提供了註冊訊息的方法,可以簡單將各種型別的訊息註冊並自定義處理方式。bot.register friend def reply msg msg msg.repl...
微信自動聊天機械人
背景 操作步驟 操作過程 import requests import itchat 圖靈機人人的apikey key d7b92b1df4ef4ba6a6c649200208f103 defget response msg 這個位址在此處給出,一看就懂 apiurl data的本質是乙個地點,要想...