Appearance
事件概览
PyWeWork 基于事件驱动架构,所有来自企业微信的通知都通过事件系统分发。
使用方式
python
from pywework import WeWork, events
wework = WeWork("5.0.3.6005")
@wework.handle(events.TEXT_MESSAGE)
def on_text(bot: WeWork, event: dict):
print(event)
wework.run()事件分类
| 分类 | 说明 |
|---|---|
| 登录事件 | 二维码、登录成功、退出等 |
| 消息事件 | 文本、图片、文件、视频等各类消息 |
| 好友事件 | 好友申请、新增、删除 |
| 群聊事件 | 新群、成员变动、群名变化 |
特殊事件
ALL_MESSAGE
监听所有事件:
python
@wework.handle(events.ALL_MESSAGE)
def on_any(bot: WeWork, event: dict):
print(f"事件类型: {event.get('type')}")WEWORK_DISCONNECT_MESSAGE
企业微信断开连接事件(非标准 type 事件):
python
@wework.handle(events.WEWORK_DISCONNECT_MESSAGE)
def on_disconnect(bot: WeWork, event: dict):
print(f"客户端断开: {event['client_id']}")事件数据结构
所有事件都遵循以下基本结构:
python
{
"type": int, # 事件类型编号
"client_id": int, # 客户端 ID
"data": dict # 事件具体数据
}完整事件常量表
| 常量名 | type 值 | 说明 |
|---|---|---|
ALL_MESSAGE | 0 | 所有消息 |
WEWORK_DISCONNECT_MESSAGE | 11023 | 断开连接 |
WEWORK_CONNECT_MESSAGE | 11024 | 连接成功 |
USER_LOGIN_MESSAGE | 11026 | 登录成功 |
USER_LOGOUT_MESSAGE | 11027 | 退出登录 |
LOGIN_QR_CODE_MESSAGE | 11028 | 登录二维码 |
TEXT_MESSAGE | 11041 | 文本消息 |
IMAGE_MESSAGE | 11042 | 图片消息 |
VIDEO_MESSAGE | 11043 | 视频消息 |
VOICE_MESSAGE | 11044 | 语音消息 |
FILE_MESSAGE | 11045 | 文件消息 |
LOCATION_MESSAGE | 11046 | 位置消息 |
LINK_CARD_MESSAGE | 11047 | 链接卡片 |
GIF_MESSAGE | 11048 | GIF 动图 |
REDPACKET_MESSAGE | 11049 | 红包消息 |
CARD_MESSAGE | 11050 | 名片消息 |
FRIEND_REQUEST_MESSAGE | 11063 | 好友申请 |
MINI_PROGRAM_MESSAGE | 11066 | 小程序消息 |
IMAGE_TEXT_CARD_MESSAGE | 11068 | 图文消息 |
GROUP_MEMBER_INCREASE_MESSAGE | 11072 | 群成员增加 |
GROUP_MEMBER_DECREASE_MESSAGE | 11073 | 群成员减少 |
GROUP_INCREASE_MESSAGE | 11074 | 新增群 |
GROUP_EXIT_MESSAGE | 11075 | 退出群聊 |
FRIEND_INCREASE_MESSAGE | 11076 | 好友新增 |
FRIEND_DECREASE_MESSAGE | 11077 | 好友减少 |
GROUP_NAME_CHANGE_MESSAGE | 11078 | 群名变化 |
REVOKE_MESSAGE | 11123 | 撤回消息 |
VIDEO_CARD_MESSAGE | 11124 | 视频号消息 |
FRIEND_DELETE_MESSAGE | 11173 | 被删除 |
LOGIN_QR_CODE_STATUS_MESSAGE | 11174 | 二维码状态 |
USER_LOGIN_COMPANY_MESSAGE | 11179 | 登录成功(含公司) |
LIVE_CARD_MESSAGE | 11195 | 视频号直播 |