Heim > Artikel > Backend-Entwicklung > Erfahren Sie, wie Sie mit Python einen WeChat-Chatbot erstellen
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()Bruder Qiang öffnet seine offizielle Kontoverwaltungsplattform und sendet eine Nachricht an sich selbst im Backend, und er erhält die folgende Nachrichtenantwort 4. Suchen Sie nach Freunden und WeChat-GruppenLassen Sie uns eine Funktion implementieren, um Unternehmensgruppen zu durchsuchen, Chefs zu finden und Chefnachrichten weiterzuleiten
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()Für Studenten, deren Chefs gerne in der Gruppe schreien, sind das gute Nachrichten, Sie Sie müssen sich keine Sorgen mehr machen, dass Sie wichtige Informationen von Ihrem Chef verpassen ~~
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]Die statistischen regionalen Verteilungsdaten sind in der folgenden Tabelle dargestellt Bruder Qiang ist in Shanghai und die meisten seiner Freunde kommen ebenfalls aus Shanghai Die obige Tabelle gibt die Situation ebenfalls wahrheitsgetreu wieder. Der Code für die statistische Geschlechterverteilung lautet wie folgt
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" % countDie Daten zur Geschlechterverteilung werden wie folgt als Diagramm generiert Das können Sie Sehen Sie, dass unter den Freunden Männer am meisten ausmachen. Wenn Sie viele männliche Freunde haben, wird sich Ihre Frau wohler fühlen Chatbot. Der Chatbot basiert auf dem Turing-Bot. Turing Robot kann ein Konto registrieren und einen Roboter auf Turing Robot erstellen – dem intelligentesten Robotergehirn im chinesischen Kontext.
# -*- 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()Führen Sie das obige Programm aus und senden Sie eine Nachricht an sich selbst. Sie können den folgenden Dialog sehen
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!