当前位置:首页 > 文章列表 > 科技周边 > 人工智能 > 用Python写了一个微信聊天机器人

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

来源:51CTO.COM 2023-04-30 07:53:55 0浏览 收藏

对于一个科技周边开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《用Python写了一个微信聊天机器人》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

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

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

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

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

一、效果

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

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


二、项目思路

整体的思路如下图所示:

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

三、代码分析

1.安装和导入模块

这里要用到的两个,itchat模块和requests模块,这是必不可少的一步,项目基于这两个模块运行的。安装方法很简单,直接窗口键+R调出命令窗口,然后输入指令安装,比如说安装itchat模块就直接输入 pip install itchat。微信搜索公众号:Linux技术迷,回复:linux 领取资料 。

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

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

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

import itchat
import requests

2.申请图灵机器人

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

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

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

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

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

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于科技周边的相关知识,也可关注golang学习网公众号。

版本声明
本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
基于机器学习和约束优化的数字孪生建模基于机器学习和约束优化的数字孪生建模
上一篇
基于机器学习和约束优化的数字孪生建模
watchOS 9 可能会获得低功耗模式和新的心房颤动功能
下一篇
watchOS 9 可能会获得低功耗模式和新的心房颤动功能
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    16次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    12次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    12次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    16次使用
  • Brev AI:零注册门槛的全功能免费AI音乐创作平台
    Brev AI
    探索Brev AI,一个无需注册即可免费使用的AI音乐创作平台,提供多功能工具如音乐生成、去人声、歌词创作等,适用于内容创作、商业配乐和个人创作,满足您的音乐需求。
    17次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码