In diesem Artikel erfahren Sie Schritt für Schritt, wie Sie einen WeChat-Chatbot mit Python erstellen. Er hat einen gewissen Referenzwert.
Ich habe kürzlich die WeChat-API recherchiert und eine sehr einfache Lösung gefunden. Zu verwendende Python-Bibliothek: wxpy. Basierend auf itchat verwendet wxpy das Web-WeChat-Kommunikationsprotokoll, um die WeChat-Anmeldung, das Senden und Empfangen von Nachrichten, die Suche nach Freunden, Datenstatistiken und andere Funktionen zu implementieren.
Hier werden wir diese Bibliothek vorstellen und schließlich einen Chatbot implementieren.
Bist du aufgeregt? Freust du dich schon?
Okay, fangen wir mit unserem Hauptthema an.
Vorbereitung
Die Installation ist sehr einfach, von der offiziellen Quelle herunterladen und installieren
pip install -U wxpy
oder von der Douban-Quelle installieren
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
Vorläufige Erkundung des Moduls
Nachdem die Installation abgeschlossen ist, probieren wir einige Grundfunktionen aus
1 Scannen Sie den QR-Code, um sich anzumelden zu WeChat
from wxpy import * bot = Bot()
Führen Sie das obige Programm aus und ein QR-Code wird angezeigt. Scannen Sie ihn mit dem WeChat Ihres Mobiltelefons, um sich anzumelden.
Aber das oben genannte Programm hat einen Nachteil: Sie müssen den QR-Code jedes Mal scannen, wenn Sie es ausführen. Allerdings bietet wxpy sehr rücksichtsvoll Caching-Optionen, wie unten gezeigt
bot = Bot(cache_path=True)
Auf diese Weise können Sie die Anmeldeinformationen speichern, sodass Sie nicht jedes Mal den QR-Code scannen müssen.
2. Senden Sie eine Nachricht
bot.file_helper.send("hello")
Der file_helper hier ist der Dateiübertragungsassistent von WeChat und Sie können die folgende Nachricht auf dem Mobiltelefon erhalten 🎜>
3. Nachrichten annehmenWir implementieren eine Funktion, um automatisch auf Nachrichten zu antworten.@bot.register() def print_message(msg): print(msg.text) return msg.text # 进入Python命令行,让程序保持运行 embed()
from wxpy import * bot = Bot(cache_path=True) # 定位公司群 company_group = bot.groups().search('公司微信群')[0] # 定位老板 boss = company_group.search('老板大名')[0] # 将老板的消息转发到文件传输助手 @bot.register(company_group) def forward_boss_message(msg): if msg.member == boss: msg.forward(bot.file_helper, prefix='老板发言') # 堵塞线程 embed()
Datenstatistik
Die Freundestatistikfunktion von wxpy ist sehr einfach zu verwenden und kann problemlos verwendet werden Verwendete Statistiken zur geografischen Standortverteilung und Geschlechterverteilung von Freunden. Im folgenden Code zählt Bruder Qiang die Verteilung seiner Freunde und druckt die 10 Regionen mit der größten Anzahl an Menschen aus.from wxpy import * bot = Bot(cache_path=True) friends_stat = bot.friends().stats() friend_loc = [] # 每一个元素是一个二元列表,分别存储地区和人数信息 for province, count in friends_stat["province"].iteritems(): if province != "": friend_loc.append([province, count]) # 对人数倒序排序 friend_loc.sort(key=lambda x: x[1], reverse=True) # 打印人数最多的10个地区 for item in friend_loc[:10]: print item[0], item[1]
for sex, count in friends_stat["sex"].iteritems(): # 1代表MALE, 2代表FEMALE if sex == 1: print "MALE %d" % count elif sex == 2: print "FEMALE %d" % count
# -*- coding: utf-8 -*- import json import requests from wxpy import * # 调用图灵机器人API,发送消息并获得机器人的回复 def auto_reply(text): url = "http://www.tuling123.com/openapi/api" api_key = "你的api key" payload = { "key": api_key, "info": text, "userid": "123456" } r = requests.post(url, data=json.dumps(payload)) result = json.loads(r.content) return "[tuling] " + result["text"] bot = Bot(console_qr=True, cache_path=True) @bot.register(mp) def forward_message(msg): return auto_reply(msg.text) embed()
Der Roboter ist so lustig, dass er nach roten Umschlägen fragt wenn es darauf ankommt, und sogar ich bin ein Freund~
Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie mit Python einen WeChat-Chatbot erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!