Maison >développement back-end >Tutoriel Python >Apprenez à créer un chatbot WeChat en utilisant Python
Cet article vous apprend principalement étape par étape comment utiliser Python pour créer un chatbot WeChat. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer
En recherchant récemment l'API WeChat, j'ai trouvé un outil très simple à utiliser. utilisez la bibliothèque python : wxpy. Basé sur itchat, wxpy utilise le protocole de communication Web WeChat pour implémenter la connexion WeChat, envoyer et recevoir des messages, rechercher des amis, des statistiques de données et d'autres fonctions.
Ici, nous allons présenter cette bibliothèque et enfin implémenter un chatbot.
Es-tu excité ? L'attendez-vous avec impatience ?
Bon, commençons par notre sujet principal.
Préparation
L'installation est très simple, téléchargez et installez depuis la source officielle
pip install -U wxpy
ou installez depuis la source Douban
pip install -U wxpy -i "https://pypi.doubanio.com/simple/"
Exploration préliminaire du module
Une fois l'installation terminée, essayons quelques fonctions de base
1. Scannez le QR. code pour vous connecter à WeChat
from wxpy import * bot = Bot()
Exécutez le programme ci-dessus et un code QR apparaîtra Scannez-le avec WeChat sur votre téléphone mobile pour vous connecter.
Mais le programme ci-dessus présente un inconvénient : vous devez scanner le code QR à chaque fois que vous l'exécutez. Cependant, wxpy fournit très judicieusement les options de mise en cache, comme suit
bot = Bot(cache_path=True)
De cette façon, vous pouvez enregistrer les informations de connexion, afin de ne pas avoir à scanner le code QR à chaque fois.
2. Envoyer un message
bot.file_helper.send("hello")
Le file_helper ici est l'assistant de transfert de fichiers de WeChat. Nous envoyons un message à l'assistant de transfert de fichiers et vous pouvez recevoir le message suivant sur le téléphone mobile<.>
3. Accepter les messages Nous implémentons une fonction pour répondre automatiquement aux messages.@bot.register() def print_message(msg): print(msg.text) return msg.text # 进入Python命令行,让程序保持运行 embed()Frère Qiang ouvre sa plateforme officielle de gestion de compte, s'envoie un message dans le backend et vous pouvez recevoir la réponse au message suivant 4. Rechercher des amis et des groupes WeChat Implémentons une fonction pour rechercher des groupes d'entreprises, localiser les patrons et transmettre les messages des patrons
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()Pour les étudiants dont les patrons aiment crier dans le groupe, c'est bonne nouvelle. Vous n'avez plus à craindre de manquer des informations importantes de votre patron ~~
Statistiques des données
La fonction de statistiques d'amis de wxpy est très simple. à utiliser. Vous pouvez facilement compter la répartition géographique et la répartition par sexe de vos amis. Dans le code ci-dessous, frère Qiang compte la répartition de ses amis et imprime les 10 régions avec le plus grand nombre de personnes.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]Les données statistiques de répartition régionale sont dessinées dans le tableau ci-dessous Frère Qiang est à Shanghai, et la plupart de ses amis sont également de Shanghai Le graphique ci-dessus reflète également avec précision cette situation. Le code pour la répartition statistique par sexe est le suivant
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" % countGénérer un graphique des données de répartition par sexe comme suit Vous pouvez voir les hommes parmi vos amis constituent la majorité. Si vous avez beaucoup d'amis masculins, votre femme se sentira plus à l'aise, eh bien~~
Chatbot
Avec la base de la partie d'introduction de la fonction ci-dessus, implémentons un chatbot. Le chatbot est basé sur le bot Turing. Turing Robot peut créer un compte et créer un robot sur Turing Robot - le cerveau robot le plus intelligent du contexte chinois.# -*- 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()Exécutez le programme ci-dessus et envoyez-vous un message, vous pouvez voir le dialogue suivant Le robot est tellement drôle, je veux du rouge enveloppes quand je monte. Il me considère même comme mon petit ami~
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!