python微信聊天机器人_Python搭建一个微信聊天机器人

article/2025/9/24 21:59:54

前言

因为班群里总是挺静的,所以想着要不放个机器人试试能不能活跃活跃气氛,然后就begin网上查阅资料试着建立个机器人。

语言环境开发环境:Ubuntu16.04

编程语言:Python2.7

步骤第一步:首先安装python2.7语言

sudo apt-get install python2.7

e818c7fcgy1fp7suzpy5rj20q90f5mxn.jpg第二部:安装微信机器人所需要的python模块--wxpy,该项目基于 Github 上的 wxpy,想要了解更多的文档使用可以点击这里,里面有介绍。如果你使用的不是Python2.7的语言,可以将下方命令中的 "pip" 替换为 "pip3" 或 "pip2",可确保安装到对应的 Python 版本中,我的是Python2.7的版本 所以我的是pip2

安装方式1

从 PYPI 官方源下载安装 (在国内使用可能比较慢或不稳定):

pip2 install -U wxpy

安装方式2

从豆瓣 PYPI 镜像源下载安装 (建议国内用户使用):

pip2 install -U wxpy -i "https://pypi.doubanio.com/simple/"

e818c7fcgy1fp7sv0as7rj20if0byglv.jpg第三部:去图灵机器人官网注册一个帐号,创建一个机器人。创建好后他会给我们一个APIkey。

e818c7fcgy1fp7sv1g2zcj213k0j479w.jpg

e818c7fcgy1fp7sv2c7ybj21350jijtg.jpg第四部:在服务器上创建机器人登陆微信。先在服务器的命令行输入:python 进入运行python调试模式,然后创建机器人# 导入模块

from wxpy import *

# 初始化机器人,扫码登陆

bot = Bot(console_qr=True)为什么要在括号内加console_qr=True,因为部署在服务器终端上会显示不到二维码,所以可以通过参数来让二维码现实在终端内。详情可看这里

e818c7fcgy1fp7sv6l39fj20m80mnwj9.jpg第五部:机器人注册消息回复。消息回复中的机器人可以使用 图灵机器人, 可免费申请 API,调用他。也可以使用 小 I 机器人。我用的是图灵机器人。所以调用的是图灵机器人的API,综合刚刚上面的登录,我们的调试代码可以写成from wxpy import *

bot = Bot(console_qr=True)

tuling = Tuling(api_key="你申请机器人的API")第六部:可以根据 wxpy 手册提供的的一些基本的注册消息代码添加需要的功能。比如 自动接受好友请求:# 注册好友请求类消息

@bot.register(msg_types=FRIENDS)

# 自动接受验证信息中包含 'wxpy' 的好友请求

def auto_accept_friends(msg):

# 判断好友请求中的验证文本

if 'wxpy' in msg.text.lower():

# 接受好友 (msg.card 为该请求的用户对象)

new_friend = bot.accept_friend(msg.card)

# 或 new_friend = msg.card.accept()

# 向新的好友发送消息

new_friend.send('哈哈,我自动接受了你的好友请求')

# 获取所有类型的消息(好友消息、群聊、公众号,不包括任何自己发送的消息)

# 并将获得的消息打印到控制台

@bot.register()

def print_others(msg):

print(msg)

# 回复 my_friend 发送的消息

@bot.register(my_friend)

def reply_my_friend(msg):

return 'received: {} ({})'.format(msg.text, msg.type)

# 回复发送给自己的消息,可以使用这个方法来进行测试机器人而不影响到他人

@bot.register(bot.self, except_self=False)

def reply_self(msg):

return 'received: {} ({})'.format(msg.text, msg.type)

# 打印出所有群聊中@自己的文本消息,并自动回复相同内容

# 这条注册消息是我们构建群聊机器人的基础

@bot.register(Group, TEXT)

def print_group_msg(msg):

if msg.is_at:

print(msg)

msg.reply(meg.text)

以上部分代码选自简书进行完以上代码可能会导致python退出,然后可以根据wxpy给出的使用embed()方法保持程序运行# 进入 Python 命令行、让程序保持运行

# 推荐使用

embed()

# 或者仅仅堵塞线程

# bot.join()

最后

因为我要在群里放个机器人,肯定不能选择自动回复所以消息,因为这样会影响到群的不友好。所以我的机器人是选择了回复好友和群里@AT机器人时在回复消息。from wxpy import *

bot = Bot(console_qr=True)

tuling = Tuling(api_key="你的机器人的key")

@bot.register([Friend, Group])

def reply_friend(msg):

"""

消息自动回复

"""

tuling.do_reply(msg)

return

return tuling.do_reply(msg)

@bot.register(Group, TEXT)

def print_group_msg(msg):

if msg.is_at:

tuling.do_reply(msg)

msg.reply(meg.text)

# 回复 my_friend 的消息 (优先匹配后注册的函数!)

@bot.register(my_friend)

def reply_my_friend(msg):

tuling.do_reply(msg)

return 'received: {} ({})'.format(msg.text, msg.type)

# 自动接受新的好友请求

@bot.register(msg_types=FRIENDS)

def auto_accept_friends(msg):

# 接受好友请求

new_friend = msg.card.accept()

# 向新的好友发送消息

new_friend.send('哈哈!我们现在是超级好的好朋友了呢~~~!,')

embed()

注意

因为这只是调试程序,好像我们以关闭命令行或者退出SSH就会发现机器人失效不起作用了。一开始被这个问题困扰着,百度也没找到答案,可能是我自己不知道要怎么搜索关键字。后来求助@后宫学长得到了一个解决的方案。

可以用screen来解决离开会话无法运行的问题 下载安装screen

apt-get -y install screen

安装好后在服务器上输入screen -S oneinstack (screen -S “任务名”)后会弹出新的窗口

然后我们在这个新的窗口来运行我们的Python的机器人,运行玩后测试机器人能不能聊天

没有问题的话我们依次按下CTRL +A+D,这样我们就退会原先的窗口了,这时候可以关闭服务器了,机器人也依然在运行着。

如果想关闭原来的窗口我们需要输入screen -R oneinstack重新回到那个新开的窗口,执行exit关闭后在回到主窗口关闭服务器。

发现

第一天的效果,大家都觉得很好奇。

e818c7fcgy1fp7sv3c7xxj20dm0jsjto.jpg

e818c7fcgy1fp7sv4byv8j20d60kkjtg.jpg

e818c7fcgy1fp7sv3xmhfj20co0jz40f.jpg

但是但是...后来发现兴起这只是一时的罢了,过了没多久还是会安静滴滴····

不妨一起搭个机器人玩玩吧

欢迎骚扰 大白 :oops:

微信已被禁止网页端登录,大白··已经用不了

e818c7fcgy1fpel4mtdj7j20u50u0tac.jpg

文章发布时间: Mar 10, 2018 at 02:23 pm

最后编辑时间: May 15, 2019 at 01:20 am


http://chatgpt.dhexx.cn/article/kedot6S7.shtml

相关文章

Python大佬用20行代码带你打造一个微信聊天机器人(附代码)

近来,打开微信群发消息,就会秒收到一些活跃分子的回复,有的时候感觉对方回答很在理,但是有的时候发现对方的回答其实是驴唇不对马嘴,仔细深究发现,原来对方是机器人。今天,小编就带大家用20行代…

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

在我们的生活和工作当中,很多时候我们并不能及时地回复消息,尤其是业务比较多的人,客户给我们发消息我们不回又不好,但又没有那么多精力时时回复,这个时候智能机器人就能帮助我们解决很多问题。 像电商类的客服,像大的QQ群/微信群管理员,以及我们打游戏的时候,挂着脚本…

利用python实现微信聊天机器人(需自己设置关键字及回复内容)

本人为python小白写此帖纪念用python写的第一个脚本 微信聊天机器人 1、通过查找截图进行鼠标点击操作 2、通过直接输入屏幕中的坐标进行鼠标点击操作(在复制他人最新信息时采用指定坐标双击) # 双击并复制信息 pyautogui.doubleClick(394,…

php个人微信聊天机器人,wxpy将个人微信号变成微信聊天机器人

一、实验环境:win10 python3 wxpy 微信版本:6.6.5 1.1、从官网下载python最新版本并进行安装。 1.2、进入python安装目录Scripts/文件夹下,使用easy_install.exe pip 命令安装pip 1.3、使用pip install wxpy 命令安装wxpy 二、源码文件demo…

一个15分钟的视频,教你用Python创建自己的微信聊天机器人文中赠送全部源代码

你好,我是程序员晚枫。 在社区交流群(👉传送门)里的朋友都知道,社区有一个智能聊天机器人: 1、24小时在线的智能客服, 2、根据大家的提问,自动回复对应的学习资料, 3、对…

微信聊天机器人

做一个微信聊天自动回复的机器人 # -*- coding: utf-8 -*- """ Created on Tue Jun 4 18:30:39 2019author: yyp """#-*- coding:utf-8 -*- import itchat import requestsdef get_response(msg):apiurl http://i.itpk.cn/api.php #//moli机器…

Python Wechaty 微信聊天机器人 padlocal协议搭建指南

python版本推荐3.9 微信机器人框架:Wechaty Python-Wechaty中文手册 开发前需要准备: Linux服务器(CentOS 8.0,Python环境,Docker)本地Python开发环境(我个人使用VSCode)申请一个…

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

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

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年提出的软件开发模型,是一种比较老的计算机软件开发模式,也是典型的预见性的开发模式。在瀑布式开发模式中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进…