python实现微信机器人: 登录微信、消息接收、自动回复

2023-11-18


安装wxpy

pip install -U wxpy

登录微信

# 导入模块
from wxpy import *
# 初始化机器人,扫码登陆
bot = Bot()

运行以上代码,会生成一个二维码,通过图片扫描二维码即可登录微信。

如果是在服务器上运行代码,无法显示图片的时候, 可以选择通过终端显示二维码图片, 只需要将代码改成:

from wxpy import *
bot = Bot(console_qr=True)

运行的效果如下:


当然,为了安全,这个二维码做了模糊处理

如果你认为每次都需要扫描二维码很麻烦,可以启用缓存,来保存自己的登录状态:

bot = Bot(console_qr=True, cache_path=True)

发送消息

首先我们尝试给自己和文件传输助手发消息:

# 给机器人自己发送消息
bot.self.send('Hello World!')
# 给文件传输助手发送消息
bot.file_helper.send('Hello World!')

自动回复

可通过 预先注册 的方式,实现消息的自动处理。

“预先注册” 是指
预先将特定聊天对象的特定类型消息,注册到对应的处理函数,以实现自动回复等功能。

注册消息

提示

每当收到新消息时,将根据注册规则找到匹配条件的执行函数。
并将  消息对象 作为唯一参数传入该函数。

将 Bot.register() 作为函数的装饰器,即可完成注册。

# 获取所有类型的消息(好友消息、群聊、公众号,不包括任何自己发送的消息)
# 并将获得的消息打印到控制台
@bot.register()
def print_others(msg):
    print(msg)

同时wxpy也可以给注册消息的类型加上限制,

# 回复 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)

我们设置一个自动回复所有消息的功能:

@bot.register()
def reply_self(msg):
    # return 'received: {} ({})'.format(msg.text, msg.type)
    msg.reply(u'好的呀')

效果如下:



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python实现微信机器人: 登录微信、消息接收、自动回复 的相关文章

随机推荐

  • Doris--基础--10--数据模型

    Doris 基础 10 数据模型 1 基本概念 在 Doris 中 数据以表 Table 的形式进行逻辑上的描述 一张表包括行 Row 和列 Column Row 用户的一行数据 Column 用于描述一行数据中不同的字段 1 1 Colu
  • 关于uniapp小程序端提示v-for 暂不支持循环数据问题的解决方案

    关于uniapp小程序端提示v for 暂不支持循环数据问题解决方案 需求描述 在uniapp小程序此项目中使用多层for循环时 小程序端提示 uniapp v for 暂不支持循环数据 以至于获取不到循环的数据 解决方案
  • JAVA的并发编程(八):Disruptor并发框架

    目录 一 Disruptor并发框架 1 介绍 2 关键知识点 3 实现方法 1 RingBuffer Disruptor 单线程 2 RingBuffer Squencebarrier BatchEventprocessor 多线程 单生
  • 杭电OJ 1002 A + B Problem II

    A B Problem II 页面数据来自 this page from http acm hdu edu cn showproblem php pid 1002 Time Limit 2000 1000 MS Java Others Me
  • linux EXPECT

    expect 概念 Expect除支持Unix Linux平台外 它还支持Windows平台 用过secureCRT的人应该知道有个自动登录的设置 那就是利用expect实现的 expect 安装需要那些包支持 tcl包和tk包 linux
  • Recovery系统升级(2)--- 软件架构

    软件架构 Recovery升级系统原理 Main System下载新版本升级包到设备存储 重启进入Recovery System Recovery从设备存储load升级包并升级Main System 最后重启回到Main System 与之
  • DLT(Diagnostic Log and Trace)嵌入式系统程序运行记录

    http blog csdn net yanlinembed article details 49837975 DLT的使用有属于Application范畴与Context范畴 在使用DLT时 需要包含以下头文件 include
  • 浅谈在线IDE的搭建,配置,体验

    首先想说一句 在线IDE体验不是很好 也可能是对于在线的IDE有了太多的期望 网页实现一些软件的功能确实比较困难 已经体验的IDE有 腾讯家的Coding Cloud Studio 亚马逊家的 Cloud9 代码沙盒 Codesandbox
  • 慧眼识才、认识自己

    慧眼识才的十二杆标尺 学历 经历 掌控特质 老虎性格 表现特质 孔雀性格 耐心特质 考拉性格 精确特质 猫头鹰性格 自信心 精力水平 现场爆发力 策略规划力 支持执行力 敏锐度 慧眼识才的十二杆标尺包括由表及里的五个圈层 最外层是学历和经历
  • maven [INFO] Generating project in Batch mode

    搜资料很简单是某些东西被Q了 那么解决方法也很简单 S S T A P全局模式就OK了
  • Flask框架的web开发02(web项目整体架构)

    目录 一 flask框架整体构造 1 介绍 2 构造图 二 核心对象 管理 启动模块 1 核心对象app py模块 2 管理模块manager py 3 启动模块server py 三 配置文件模块 四 forms验证模块 五 libs公共
  • 关于华三HCL使用时,设备端口状态为down的解决

    内存不能低于默认值 可以通过关闭一些模拟器中的设备 可以关闭物理机上一些正在使用的应用和后台程序 一台或少量的启动设备
  • 习题

    1 在路由器上配置SSH服务器的过程 2 简述以太网交换机Mac地址表的学习过程 首先当4台pc机连接到交换机相互通信时 交换机会取出每个数据包的源MAC地址 通过算法找到相应的位置 如果是新地址 则创建地址表项 填写相应的端口信息 生命周
  • 1132. 合法的三角数

    给定一个包含非负整数的数组 你的任务是计算从数组中选出的可以制作三角形的三元组数目 如果我们把它们作为三角形的边长 样例 输入 2 2 3 4 输出 3 解释 合法的组合如下 2 3 4 使用第一个 2 2 3 4 使用第二个 2 2 2
  • 【机试练习】【C++】随机选择算法

    随机选择算法的实现 include
  • 【并发多线程】java.util.concurrent简介

    主要的组件 Executor ExecutorService ScheduledExecutorService Future CountDownLatch CyclicBarrier Semaphore ThreadFactory java
  • matlab遗传算法求多元函数最小值,matlab遗传算法求函数最小值

    function obj yichuan lb ub px pm lb ub为自变量的下界与上界 px为杂交概率 pm为变异概率 popsize 40 设定种群大小为40 maxgen 500 设定最大遗传代数为500代 dim 20 定义
  • 鸡和兔子共36脚100Matlab,matlab编程.ppt

    matlab编程 ppt 由会员分享 可在线阅读 更多相关 matlab编程 ppt 51页珍藏版 请在人人文库网上搜索 1 1 Matlab 编程基础 数学实验 数学软件 Matlab 2 本讲主要内容 M 文件 Matlab 编程基础
  • c语言基础回顾 —— 其他知识点

    参考 c语言基础回顾 其他知识点 作者 丶PURSUING 发布时间 2021 03 11 14 48 59 网址 https blog csdn net weixin 44742824 article details 114666007
  • python实现微信机器人: 登录微信、消息接收、自动回复

    安装wxpy pip install U wxpy 登录微信 导入模块 from wxpy import 初始化机器人 扫码登陆 bot Bot 运行以上代码 会生成一个二维码 通过图片扫描二维码即可登录微信 如果是在服务器上运行代码 无法