用Python写了一个微信聊天机器人

article/2025/9/24 18:37:49

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

像电商类的客服,像大的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,最终进行返回数据。​​​​​​​

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


http://chatgpt.dhexx.cn/article/9fZSuF4N.shtml

相关文章

Python创建微信聊天机器人

最近想着做一个微信机器人,主要想要实现能够每天定时推送天气预报或励志语录,励志语录要每天有自动更新,定时或当有好友回复时,能够随机推送不同的内容。于是开始了分析思路。博主是采用了多线程群发,因为微信对频繁发…

三步轻松打造微信聊天机器人(附源码)

最近微信公众平台开发是热门,我也跟风做了一个陪聊的公众号。 其实类似的自动回话程序早就有了,比如前一阵很火的小黄鸡(还是小黄鸭来着?)。但尽管是跟风,也要体现一些不同。别人做的都是中文陪聊&#xff…

实现微信聊天机器人-中级篇

一、ChatterBot工作原理 Chatbot Engine的技术框架采用了开源项目ChatterBot (https://github.com/gunthercox/ChatterBot)。 ChatterBot是一个python库,利用它可以轻松的创建对话软件。 一个未经训练的ChatterBot实例开始不知道如何沟通,每次用户输入一个语句,ChatterBo…

微信聊天机器人,不使用iChat,可以群聊

目录 1. 微信聊天界面截图 2. 图片文字识别 3. 获取最新消息 3.1 独聊 3.2 群聊 4. 机器人聊天系统 5. 成果展示 6. 全部代码 本文参考大神【喵王叭】的文章:python实现微信、QQ聊天自动回复【纯物理】_喵王叭的博客-CSDN博客_python自动回复纯物理方式实现微…

tomcat的开发模式和生产模式

tomcat这两种模式对大家的影响主要是在jsp的开发当中。大家都知道jsp需要先编译成servlet源文件并编译为字节码,即生成.class文件才可以执行,所以在jsp文件首次运行时先要进行编译导致运行较慢,之后的访问都会直接进入执行阶段。 在开发模式下…

chrome开发模式下清除缓存问题

介绍: 在开发的时候经常会遇到这样的问题,后台js修改,前台怎么也清除不了缓存的问题,包括使用ctrlf5都没有办法处理,今天教大家一种方式,在chrome中采用开发模式下彻底清除缓存问题 一、打开chrome,随便访…

微信小程序-云开发模式pk传统开发模式【详细】

👨‍🎓作者:bug菌 ✏️博客:CSDN、掘金等 💌公众号:猿圈奇妙屋 🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。 🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。 小伙伴们,说起开发微…

软件开发模式之敏捷开发(scrum)

简介 这几年关于敏捷开发在互联网企业中越来越广泛被使用到,运用的比较多的当属scrum敏捷开发和xp敏捷开发,人人都在谈论敏捷开发。那什么才是敏捷开发呢? 目录 什么是敏捷开发?传统的开发模式和敏捷开发模式的对比&#xff1f…

特性分支开发模式 or 主干开发模式,团队该如何选择?

对于一个具有一定规模的开发团队而言,团队 Devops 的建设都是迈向高效开发的必经之路,即便没有达到 Devops 建设的程度,为了团队中开发之间的高效协作,基于版本管理工具来选择团队合理的代码分支开发模式都是非常重要的一环。对于…

vue项目的三种开发模式

vue项目的三种开发方式 文章目录 vue项目的三种开发方式1.原始无合作开发2.手动模块化开发3.自动模块化开发1、开发流程2、配置webpack-dev-server1.下载安装包2.配置package.json3、配置webpack.config.js4、执行程序5、调试程序 1.原始无合作开发 包含两个文件:v…

介绍两种常见软件开发模式:“敏捷”和“瀑布”

在软件开发时,经常面对的第一个项目实现决策是“我们应该使用哪种开发方法?”这是一个引起很多讨论(和激烈辩论)的话题。如果您以前没有使用过这种方法,那么适当了解开发方法和理论是必要的;简单地说,这是一种组织软件开发工作的方法。这与项…

常用的4种开发模式

常用的4种开发模式 1. 瀑布式开发 瀑布式开发是由W.W.Royce在1970年提出的软件开发模型,是一种比较老的计算机软件开发模式,也是典型的预见性的开发模式。在瀑布式开发模式中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进…

小程序:游客模式--开发模式

一、简介 1.1、普通的开发可以正常进行 1.2、小程序开发工具不能预览,不能真机调试,调用微信扫码不能走成功的回调 等等 1.3、仔细观察开发者工具提示当前为“游客模式”,作为开发者需要切换到可以正常开发的“开发模式” 二、解决 2.1、开…

web开发模式+身份认证

一、web开发模式 目前主流的 Web 开发模式有两种,分别是: 1.基于服务端渲染的传统 Web 开发模式:  概念:服务器发送给客户端的 HTML 页面,是在服务器通过字符串的拼接,动态生成的。因此,客户端…

微信小程序——传统开发模式与云开发模式对比

目 录 1、传统开发模式与云开发模式的对比图 2、云开发技术能力说明 3、云开发技术特点 1、传统开发模式与云开发模式的对比图 通过传统开发模式与云开发模式的对比图可以看出传统开发模式需要开发者关注后端服务器,比如数据库、文件存储、负载均衡、异地容灾、…

前后端分离开发模式介绍

1.1 什么是前后端分离 前后端分离是目前一种非常流行的开发模式,它使项目的分工更加明确: 后端:负责处理、存储数据前端:负责显示数据 前端和后端开发人员通过 接口 进行数据的交换。 1.2 为什么要进行前后端分离 前后端可以…

敏捷开发模式

1、敏捷开发的概念 从1990年代开始逐渐引起广泛关注,是一种以人为核心、迭代、循序渐进的开发方法。强调以人为本,专注于交付对客户有价值的软件。是一个用于开发和维持复杂产品的框架。 2、敏捷开发的流程 (图为禅道敏捷开发流程管理) 2.1 产品负责人将…

Django开发模式与流程

Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session等诸多功能。 一.Django的MTV开发模式与一般的MVC开发模式区别 1.MVC模式 在MVC模式中&am…

【面向对象】DDD(一):传统开发模式 VS DDD 开发模式

我们都知道,很多业务系统都是基于 MVC 三层架构来开发的。实际上,更确切点讲,这是一种基于贫血模型的 MVC 三层架构开发模式。虽然这种开发模式已经成为标准的 Web 项目的开发模式,但它却违反了面向对象编程风格,是一种…

MVC开发模式

一.MVC设计模式 1.MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller&#xff0…