16行Python代码实现微信聊天机器人并自动智能回复功能

 更新时间:2022年01月19日 16:02:05   作者:退休的龙叔  
聊天机器人自动智能回复给我们的生活带来了极大的便利,尤其在业务比较繁忙的时候,智能机器人给我们带来极大的方便,今天小编教大家一招通过16行代码实现微信聊天智能机器人,感兴趣的朋友一起看看吧

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

像电商类的客服,像大的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行代码。

到此这篇关于16行Python代码实现微信聊天机器人并自动智能回复功能的文章就介绍到这了,更多相关python微信聊天机器人内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python读写锁实现实现代码解析

    Python读写锁实现实现代码解析

    这篇文章主要介绍了Python读写锁实现实现代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python将print输出的信息保留到日志文件中

    python将print输出的信息保留到日志文件中

    这篇文章主要介绍了python将print输出的信息保留到日志文件中,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python3读取csv文件任意行列代码实例

    python3读取csv文件任意行列代码实例

    这篇文章主要介绍了python3读取csv文件任意行列代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • python+opencv实现移动侦测(帧差法)

    python+opencv实现移动侦测(帧差法)

    这篇文章主要为大家详细介绍了python+opencv实现移动侦测,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 一文带你搞懂Python中__init__.py到底是什么

    一文带你搞懂Python中__init__.py到底是什么

    朋友们,今天我们来聊聊 Python 里一个低调却至关重要的文件——__init__.py,有些人可能听说过它是“包的标志”,也有人觉得它“没啥大用,可以忽略”,今天我们就来彻底搞清楚 __init__.py 到底是干啥的
    2025-04-04
  • Python中的 ansible 动态Inventory 脚本

    Python中的 ansible 动态Inventory 脚本

    这篇文章主要介绍了Python中的 ansible 动态Inventory 脚本,本章节通过实例代码从mysql数据作为数据源生成动态ansible主机为入口介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2020-01-01
  • Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例

    Python实现读取SQLServer数据并插入到MongoDB数据库的方法示例

    这篇文章主要介绍了Python实现读取SQLServer数据并插入到MongoDB数据库的方法,涉及Python同时进行SQLServer与MongoDB数据库的连接、查询、读取、写入等相关操作实现技巧,需要的朋友可以参考下
    2018-06-06
  • python 录制系统声音的示例

    python 录制系统声音的示例

    这篇文章主要介绍了python 录制系统声音的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python concurrent.futures模块的使用测试

    python concurrent.futures模块的使用测试

    大家都知道concurrent.futures 是 3.2 中引入的新模块,它为异步执行可调用对象提供了高层接口,今天通过本文给大家介绍python concurrent.futures模块的使用测试 ,感兴趣的朋友一起看看吧
    2021-07-07
  • Python 轻松实现可视化大屏

    Python 轻松实现可视化大屏

    对于从事数据领域的小伙伴来说,当需要阐述自己观点、展示项目成果时,我们需要在最短时间内让别人知道你的想法。我相信单调乏味的语言很难让别人快速理解。最直接有效的方式就是将数据进行可视化展现
    2022-01-01

最新评论