Skip to content

事件概览

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_MESSAGE0所有消息
WEWORK_DISCONNECT_MESSAGE11023断开连接
WEWORK_CONNECT_MESSAGE11024连接成功
USER_LOGIN_MESSAGE11026登录成功
USER_LOGOUT_MESSAGE11027退出登录
LOGIN_QR_CODE_MESSAGE11028登录二维码
TEXT_MESSAGE11041文本消息
IMAGE_MESSAGE11042图片消息
VIDEO_MESSAGE11043视频消息
VOICE_MESSAGE11044语音消息
FILE_MESSAGE11045文件消息
LOCATION_MESSAGE11046位置消息
LINK_CARD_MESSAGE11047链接卡片
GIF_MESSAGE11048GIF 动图
REDPACKET_MESSAGE11049红包消息
CARD_MESSAGE11050名片消息
FRIEND_REQUEST_MESSAGE11063好友申请
MINI_PROGRAM_MESSAGE11066小程序消息
IMAGE_TEXT_CARD_MESSAGE11068图文消息
GROUP_MEMBER_INCREASE_MESSAGE11072群成员增加
GROUP_MEMBER_DECREASE_MESSAGE11073群成员减少
GROUP_INCREASE_MESSAGE11074新增群
GROUP_EXIT_MESSAGE11075退出群聊
FRIEND_INCREASE_MESSAGE11076好友新增
FRIEND_DECREASE_MESSAGE11077好友减少
GROUP_NAME_CHANGE_MESSAGE11078群名变化
REVOKE_MESSAGE11123撤回消息
VIDEO_CARD_MESSAGE11124视频号消息
FRIEND_DELETE_MESSAGE11173被删除
LOGIN_QR_CODE_STATUS_MESSAGE11174二维码状态
USER_LOGIN_COMPANY_MESSAGE11179登录成功(含公司)
LIVE_CARD_MESSAGE11195视频号直播

Released under the MIT License.