16行代码实现微信聊天机器人,自动智能回复,打团了让它来陪老婆聊天

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行代码。

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

提示:近几年注册的微信可能登陆不了网页版,所以扫码之后可能登不上去,我的比较老是可以的。

粉丝白嫖福利,移步至CSDN社区

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132652.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Openssl Heartbleed

    Openssl Heartbleed近日闹的沸沸扬扬的Heartbleed漏洞,仿佛一下子再次将人们拉回了对网络安全的关注和担忧。这个问题就是由于服务器端没有对用户发过来的心跳包数据进行边界检查,服务端根据用户心跳包指定的数据长度来返回同样长度的数据。如果用户指定长度为100字节,而实际心跳数据的长度只有1字节,服务端还是会memcpy长度100字节的数据,这样就会把服务端内存中的数据返回给用户,可能会…

    2022年7月15日
    15
  • 物理讨论题复习

    物理讨论题复习请简要回答避雷针的工作原理?避雷针由于曲率半径小,电荷面密度大,从而产生尖端放电现象,导致自身与带电云层形成回路。导致自身电荷放出从而不会被雷击中,当带电云层密度过大,避雷针通过接地把电引下大地“分子电流假说“是谁提出的?请解释“分子电流”。安培。在原子、分子等物质微粒内部,存在着一种环形电流—-分子电流。分子电流使每个物质都成为微小的磁体,他的两侧相当于两个磁极请解释”磁偶极子“。磁偶极子是类比电偶极子而建立的物理模型。具有等值异号的两个点磁荷构成的系统称为磁偶极子。磁偶极子的物理

    2025年6月29日
    3
  • 秒杀多线程第一篇 多线程笔试面试题汇总

    系列前言   本系列是本人参加微软亚洲研究院,腾讯研究院,迅雷面试时整理的,另外也加入一些其它IT公司如百度,阿里巴巴的笔试面试题目,因此具有很强的针对性。系列中不但会详细讲解多线程同步互斥的各种“招式”,而且会进一步的讲解多线程同步互斥的“内功心法”。有了“招式”和“内功心法”,相信你也能对多线程挥洒自如,在笔试面试中顺利的秒杀多线程试题。              ————-

    2022年4月11日
    47
  • js获取当前时间年份_js输入年月日,判断是这年的第几天

    js获取当前时间年份_js输入年月日,判断是这年的第几天vardate=newDate();date.getYear();//获取当前年份(2位)date.getFullYear();//获取完整的年份(4位)date.getMonth();//获取当前月份(0-11,0代表1月)date.getDate();//获取当前日(1-31)date.getDay();//获取当前星期X(0-6,0代表星期天)date.getTime();//获取当前时间(从1970.1.1开始的毫秒数)date.getH

    2025年7月2日
    2
  • 剑指Offer面试题:4.从尾到头打印链表建议收藏

    一题目:从尾到头打印链表代码实现采用两种方法实现:(1)不修改原列表,使用stack的方式实现(2)修改原列表,对元列表逆序两种方法都在下面的代码中:

    2021年12月19日
    36
  • flowable使用

    flowable使用flowable新增了idm模块,主要用于管理flowable-admin、flowable-idm、flowable-modeler、flowable-rest、flowable-task等模块。flowableidm用于管理的表如下:act_id_priv、act_id_group、act_id_membership、act_id_priv_mapping、act_id_p…

    2022年5月11日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号