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

作者:harleylau 时间:2023-05-30 05:42:53 

安装wxpy

pip install -U wxpy

登录微信


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

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

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


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

运行的效果如下:

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

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

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


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实现微信机器人: 登录微信、消息接收、自动回复功能详解整合网站的支持!

来源:https://blog.csdn.net/harleylau/article/details/80271660

标签:Python,微信自动回复
0
投稿

猜你喜欢

  • MSSQLSERVER不同版本设置开启远程连接(sa配置)

    2024-01-23 05:42:41
  • 增加 javascript 的 trim 函数

    2008-04-20 16:54:00
  • MySQL安装starting the server失败的2种解决办法(推荐!)

    2024-01-28 11:16:09
  • golang语言中for循环语句用法实例

    2024-04-23 09:41:21
  • 对python:threading.Thread类的使用方法详解

    2022-01-24 04:19:28
  • python超时重新请求解决方案

    2022-04-22 00:16:12
  • 解决pyinstaller打包exe文件出现命令窗口一闪而过的问题

    2021-09-28 01:03:45
  • 一文搞懂python异常处理、模块与包

    2023-09-05 05:01:25
  • 分享10个有趣的Python程序

    2023-12-21 19:53:58
  • Python基于Socket实现简单聊天室

    2022-06-13 11:56:51
  • 使用php-timeit估计php函数的执行时间

    2023-10-07 19:56:50
  • Sql Server事务语法及使用方法实例分析

    2024-01-22 12:23:38
  • python调用matlab的m自定义函数方法

    2023-11-11 21:40:52
  • asp版FCKEditor编辑器的用法

    2008-07-05 12:15:00
  • Python 面向切面编程 AOP 及装饰器

    2021-05-07 14:16:36
  • 在ADF中跟踪SQL执行时间实现代码

    2024-01-16 16:09:00
  • python实现TF-IDF算法解析

    2021-06-02 03:27:51
  • 详解如何修改jupyter notebook的默认目录和默认浏览器

    2022-07-01 14:34:54
  • Python+Pillow进行图形处理的示例详解

    2021-08-03 22:42:34
  • 一个简单的ASP生成HTML分页程序

    2009-07-05 18:32:00
  • asp之家 网络编程 m.aspxhome.com