自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信

说实话,程序员难找女朋友这件事已经是大家有目共睹的事情,相信不少小伙伴深有体会,可不能因为回复消息不及时这件小事,自毁姻缘!

但,生活中也有很多身不由己的时候,例如上班抽不开身,我们无法及时回复对象消息。除了回复女朋友的消息,工作中我们也难以做到逐条回复,尤其是业务比较多的人,客户给我们发消息我们不回又不好,但又没有那么多精力时时回复,这个时候智能机器人就能帮助我们解决很多问题。(智能机器人简直就是程序猿们的福音,不接受反驳)

像电商类的客服,大的QQ群/微信群管理员,以及我们打游戏的时候,挂着脚本就行,机器人自动帮你回消息,一时半会儿不会得罪女朋友,哈哈哈!

今天就来教大家一招,16行Python代码实现智能机器人(图灵)自动微信聊天,再也不用担心不回消息被客户骂了!

一、项目思路

整体的思路如下图所示:

自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信(1)

二、代码分析

1.安装和导入模块

这里要用到的两个,itchat模块和requests模块,这是必不可少的一步,项目基于这两个模块运行的。安装方法很简单,直接窗口键 R调出命令窗口,然后输入指令安装,比如说安装itchat模块就直接输入 pip install itchat。

自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信(2)

提示一下,两个模块分开安装,装完一个再装另一个。

安装完成之后,我们就可以直接在代码中导入模块:

import itchat import requests

2.申请图灵机器人

这个项目的机器人是现成的图灵机器人,我们需要去图灵官网注册一下,然后进入后台创建机器人,每个机器人都有1个api,这是我们要用到的。

自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信(3)

图灵机器人之前是有免费版和体验版的,现在的话需要实名认证一下才有,虽然每天只有100次的消息回复,但对于测试者来玩玩是可以的。

自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信(4)

图灵还可以进行关键词的个性回复,在后台的"私有语料库"设置一下就可以。

3.实现机器人功能

这里除了要有访问网站的url之外,还要确定调用的是哪个机器人,因为可能你的后台有多个机器人,这时候就用到了每个机器人特有的api,以及获取要发送的消息,然后用于post方式发送请求,发送网站的url、机器人的api和要发送的消息,最后提取字典里面的text,最终进行返回数据。

def get_response(msg): apiUrl= "http://www.tuling123.com/openapi/api" #要访问的网站 #key:机器人的key,info:要发送的消息 data={'key':KEY,'info':msg,'userid':"WeChat-robot"} #发送请求: r = requests.post(apiUrl,data=data) return r["text"]

4.实现微信功能

如果有人给我们发消息,我们就调用上面返回的数据,那么如何知道是否有人给你发消息?这个时候的我们就用到了装饰器,itchat提供的 @itchat.msg_register() 就能实现这个功能;接着调用上面已经写好的机器人功能,最终返回机器人的信息或者发送者的信息。

为什么要加发送者的信息复制一遍发送?这是防止网络等其他问题导致机器人没有响应,这个时候谁给我们发什么消息,我们就自动给他回复同样的消息,避免聊天时无反应。

@itchat.msg_register(itchat.content.TEXT) def tuling_reply(user_data): print(user_data)#用户的信息包含给你发的消息 user=user_data["Text"]#用户发你的信息 return_user = get_response(user_data["Text"]) print(return_user) return return_user or user

5.弹出二维码及循环程序

在程序运行时我们需要弹出1个二维码,让我们扫码后登陆,同时要保证程序一直处于运行状态,不然程序只跑一遍就完了,这两个功能在itchat都提供了,直接用就行。

itchat.auto_login()#扫码登录 itchat.run()#循环执行

以上就是这个微信智能聊天机器人的代码分析,这个假人还是不错的,付费版本我不知道,充钱肯定会更强,整个下来不超过20行代码。


如果要源码的话,可以在评论区留言"机器人"然后私聊我,我给你们发,在粉丝群的小伙伴们可以直接找管理员要就可以啦~

自动回复聊天机器人技术:16行代码实现智能机器人自动回复微信(5)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页