网站首页 > 技术文章 正文
在我们的生活和工作当中,很多时候我们并不能及时地回复消息,尤其是业务比较多的人,客户给我们发消息我们不回又不好,但又没有那么多精力时时回复,这个时候智能机器人就能帮助我们解决很多问题。
像电商类的客服,像大的QQ群/微信群管理员,以及我们打游戏的时候,挂着脚本就行,机器人自动帮你回消息,一时半会儿不会得罪女朋友,哈哈哈!
今天就来教大家一招,16行Python代码实现1个微信聊天智能机器人(图灵),再也不用担心不回消息被客户骂了!
一、效果
我拿我自己的微信(左边)登陆之后,用我助手的微信测试了一下,机器人接管了我的微信之后的聊天效果看起来还是不错的:
二、项目思路
整体的思路如下图所示:
三、代码分析
1.安装和导入模块
这里要用到的两个,itchat模块和requests模块,这是必不可少的一步,项目基于这两个模块运行的。安装方法很简单,直接窗口键+R调出命令窗口,然后输入指令安装,比如说安装itchat模块就直接输入 pip install itchat。
提示一下,两个模块分开安装,装完1个再装另一个。
安装完成之后,我们就可以直接在代码中导入模块:
import itchat
import requests
2.申请图灵机器人
这个项目的机器人是现成的图灵机器人,我们需要去图灵官网注册一下,然后进入后台创建机器人,每个机器人都有1个api,这是我们要用到的。
图灵机器人之前是有免费版和体验版的,现在的话需要实名认证一下才有,虽然每天只有100次的消息回复,但对于测试者来玩玩是可以的。
图灵还可以进行关键词的个性回复,在后台的“私有语料库”设置一下就可以。
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行代码。
本文链接:https://blog.csdn.net/zhiguigu/article/details/118370025
猜你喜欢
- 2025-01-20 Python快速入门系列:PyQt5 深入理解信号与槽机制
- 2025-01-20 牛掰!Python炫技—— 企业微信机器人每天定时发消息实例
- 2025-01-20 阿愚呱呱RPA:RPA 机器人,找人定制一个还自己来组装
- 2025-01-20 微信群总是有人发广告?看我用Python写一个机器人消灭他
- 2025-01-20 博普乐 Popular Robotics | 机器人AI在线课程Python+树莓派
- 2025-01-20 Python机器人编程主控板microbit简介
- 2025-01-20 小试牛刀 自己建立一个AI聊天机器人
- 2025-01-20 python脚本实现钉钉机器人发送消息
- 2025-01-20 Python机器人教学——控制数码管显示字符
- 2025-01-20 大疆推出首款教育机器人,可编程支持竞速对战
- 258℃Python短文,Python中的嵌套条件语句(六)
- 258℃python笔记:for循环嵌套。end=""的作用,图形打印
- 257℃PythonNet:实现Python与.Net代码相互调用!
- 252℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 107℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 83℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)