200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 使用Python+图灵机器人实现与小冰聊天

使用Python+图灵机器人实现与小冰聊天

时间:2022-06-08 22:05:40

相关推荐

使用Python+图灵机器人实现与小冰聊天

首先 下面是我们需要用到的第三方库,本人使用的编辑工具为Pycharm,都是通过工具安装的比较方便。

Python 版本为3.7,pip因为之后一个demo需要引入pillow库所以升级到了最新的18.0版本

import requestsimport reimport timeimport itchatfrom itchat.content import *

因为需要使用到图灵机器人,所以大家首先到图灵机器人官网去申请一个。/

因为最终效果是实现两个机器人互相对话,所以首先我们先定义一个图灵机器人回复消息的方法

KEY = '' #图灵KEY #就是你在图灵机器人官网申请到的,个人中心-机器人设置-终端设置-最底下#切记不要点开密钥,不然会有意想不到的情况def get_response(msg):apiUrl = '/openapi/api'data = {'key': KEY,'info': msg,'userid': 'wechat-robot',}try:r = requests.post(apiUrl, data=data).json()return r.get('text')except:return

接下来就需要调用我们最关键的itchat库,这个库很方便也很好玩,这个demo主要介绍回复功能。

@itchat.msg_register(itchat.content.TEXT)def tuling_reply(msg):defaultReply = '嘤嘤嘤 ' + msg['Text']reply = get_response(msg['Text'])return reply or defaultReply@itchat.msg_register([PICTURE,TEXT,VIDEO,SHARING],isMpChat=True) #此Demo使用这个方法def mp_reply(msg): defaultReply = 'I received: ' + msg['Text']reply = get_response(msg['Text'])if reply == '请按规定的要求进行加密': # 机器人开启密钥后会return "妈耶,听不懂,别发语音。"else:return replyreturn reply or defaultReply@itchat.msg_register(TEXT, isGroupChat=True)def text_reply(msg):if (msg.isAt):# 判断是否有人@自己reply = get_response(msg['Text'])if reply== '请按规定的要求进行加密': #机器人开启密钥后会一直提示这句话return "嘤嘤嘤,吓到人家了,不能对宝宝温柔点么。"else:return reply

定义名为 mp_reply的方法用来接收公众号小冰回复的消息,isMpchat用来判断是否是公众号。逻辑不是很难,因该可以看懂

最后:

itchat.auto_login(hotReload=True) #热启动# mps = itchat.search_mps(name='小冰')# userName = mps[0]['UserName']注释掉的这段其实就是通过代码向小冰发送第一条消息# itchat.send("hello",toUserName = userName)itchat.run()

效果如下图:

本来想上传截图,无奈显示出来图片太大,设置了也不管用。太丑所以不放了

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。