Python实现微信机器人:登录、收发消息与自动回复详解

Ada
Ada
发布时间:2026-10-13 | 4人浏览过
原创

本文详细介绍如何使用Python的wxpy库快速搭建微信机器人。内容涵盖环境安装、扫码登录(含服务器终端显示方案)、登录状态缓存、主动发送消息以及基于消息注册的自动回复功能实现,帮助开发者掌握微信接口调用的基础操作。

环境安装与登录配置

安装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'好的呀')

效果如下:

以上介绍了使用Python实现微信机器人的登录、消息接收及自动回复功能,希望对大家有所帮助。如有任何疑问,欢迎留言,小编会及时回复。感谢大家对本站的支持!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表