社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

用Python写了一个微信聊天机器人(打团了让它来陪女朋友聊天!)

Python面试官 • 7 月前 • 277 次点击  

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:

https://blog.csdn.net/zhiguigu/article/details/118370025


在我们的生活和工作当中,很多时候我们并不能及时地回复消息,尤其是业务比较多的人,客户给我们发消息我们不回又不好,但又没有那么多精力时时回复,这个时候智能机器人就能帮助我们解决很多问题。


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

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

一、效果

我拿我自己的微信(左边)登陆之后,用我助手的微信测试了一下,机器人接管了我的微信之后的聊天效果看起来还是不错的:


二、项目思路

整体的思路如下图所示:


三、代码分析

1.安装和导入模块

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

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

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

import itchatimport requests

2.申请图灵机器人

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

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

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

3.实现机器人功能

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

defget_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)deftuling_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行代码


有用 点赞 在看 ❤

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/185014