Python 使用 WeChatFerry 搭建部署微信机器人详细教程
Python 使用 WeChatFerry 搭建部署微信机器人的详细教程(更新中)如下:
一、下载安装 wcferry 库
通过pip快速安装 wcferry:
pip install wcferry
二、基本原理
当微信收到消息时,抢在微信处理(显示到页面)前,先让工具处理,处理完之后再交还给原来的处理模块。需要发送消息时,模拟微信发送消息,组装好消息体,调用微信发送消息的模块。获取联系人,则是遍历一块特定的内存空间。通过好友验证,则是组装好验证信息,调用微信的验证模块。
三、开始使用
- 检测微信登录状态
from wcferry import Wcf
wcf = Wcf()
print(wcf.is_login()) # 检测当前PC端微信登录状态
- 获取登录账号信息
from wcferry import Wcf
wcf = Wcf()
print(wcf.get_user_info()) # 获取当前PC端微信账号信息
- 开辟线程监听群消息
以下是一个简单的例子,展示如何开启线程监听消息,并判断是否是群消息:
from queue import Empty
from threading import Thread
from wcferry import Wcf, WxMsg
wcf = Wcf()
def processMsg(msg: WxMsg):
if msg.from_group():
print(msg.content)
def enableReceivingMsg():
def innerWcFerryProcessMsg():
while wcf.is_receiving_msg():
try:
msg = wcf.get_msg()
processMsg(msg)
except Empty:
continue
except Exception as e:
print(f"ERROR: {e}")
wcf.enable_receiving_msg()
Thread(target=innerWcFerryProcessMsg, name="ListenMessageThread", daemon=True).start()
enableReceivingMsg()
wcf.keep_running()
四、微信消息属性说明
可以通过 WxMsg
类来了解微信消息的各种属性。例如,可以通过 wcf.get_msg_types()
来获取所有消息类型。
五、根据群名称查询群 wxid
特别注意:Wcf 没有提供根据群名称查询群 wxid 功能。但我们可以先获取全部联系人数据(微信好友、微信群等等),基于 wxid 进行区分,因为微信群 wxid 后缀都是“chatroom”结尾。
以上教程提供了一个基本的框架和示例代码,帮助你开始使用 WeChatFerry 搭建和部署微信机器人。请注意,此工具仅用于学习和技术研究目的,并应遵守相关法律法规和道德规范。
由于 WeChatFerry 和微信的接口可能会发生变化,因此建议在使用过程中保持对官方文档和社区动态的关注,以便及时获取最新信息和支持。
评论已关闭