Skip to content

枚举类型

pywxauto 中定义的枚举类型。

Event

消息事件类型,用于消息监听的事件注册。

python
from pywxauto import Event
说明
Event.ALL所有消息
Event.TEXT文本消息
Event.IMAGE图片消息
Event.VIDEO视频消息
Event.FILE文件消息
Event.VOICE语音消息
Event.QUOTE引用消息
Event.EMOTION表情消息
Event.LOCATION位置消息
Event.LINK链接消息
Event.CARD卡片消息
Event.PERSONAL_CARD个人名片
Event.MERGE合并消息
Event.NOTE笔记消息
Event.VOIP通话消息
Event.RED_PACKET红包消息
Event.TRANSFER转账消息
Event.MUSIC音乐消息
Event.SYSTEM系统消息
Event.OTHER其他消息

用法

python
@wx.on(Event.TEXT)
def on_text(weixin, chat, message): ...

# 监听多种类型
@wx.on([Event.TEXT, Event.IMAGE, Event.FILE])
def on_message(weixin, chat, message): ...

# 监听所有消息
@wx.on(Event.ALL)
def on_all(weixin, chat, message): ...

DBEvent

数据库消息事件类型枚举,用于数据库监听模式(listen_mode="db")中标识消息类型。

python
from pywxauto.wx import DBEvent
整数值说明映射到 Event
DBEvent.ALL0所有消息-
DBEvent.TEXT1文本消息Event.TEXT
DBEvent.TEXT22文本消息(变体)Event.TEXT
DBEvent.IMAGE3图片消息Event.IMAGE
DBEvent.VOICE34语音消息Event.VOICE
DBEvent.CARD42名片消息Event.CARD
DBEvent.VIDEO43视频消息Event.VIDEO
DBEvent.EMOTION47表情消息Event.EMOTION
DBEvent.LOCATION48位置消息Event.LOCATION
DBEvent.VOIP50通话消息Event.VOIP
DBEvent.OPEN_IM_CARD66企业名片Event.CARD
DBEvent.SYSTEM10000系统消息Event.SYSTEM
DBEvent.FILE25769803825文件消息Event.FILE
DBEvent.FILE_WAIT317827579953文件待接收Event.FILE
DBEvent.LINK21474836529链接消息Event.LINK
DBEvent.LINK2292057776177链接消息(变体)Event.LINK
DBEvent.SONG12884901937音乐消息Event.MUSIC
DBEvent.RED_ENVELOPE8594229559345红包消息Event.RED_PACKET
DBEvent.TRANSFER8589934592049转账消息Event.TRANSFER
DBEvent.QUOTE244813135921引用消息Event.QUOTE
DBEvent.MERGED_FORWARD81604378673合并转发Event.MERGE
DBEvent.FINDER_VIDEO219043332145视频号视频Event.OTHER
DBEvent.COLLECTION103079215153收藏消息Event.OTHER
DBEvent.PAT266287972401拍一拍Event.OTHER
DBEvent.GROUP_ANNOUNCEMENT373662154801群公告Event.SYSTEM

辅助函数

python
from pywxauto.wx import db_type_to_event

# 将 DBEvent 整数值映射到 Event 枚举
event = db_type_to_event(message["type"])  # 例: 1 -> Event.TEXT

Source

消息来源枚举。

python
from pywxauto.wx import Source
说明
Source.SYSTEM系统消息
Source.SELF自己发送的消息
Source.OTHERS他人发送的消息
Source.UNKNOWN未知来源

用法

python
@wx.on(Event.TEXT)
def on_text(weixin, chat, message):
    if message.source == Source.OTHERS:
        chat.send_text("收到")
    
    # 也可以用 value
    if message.source.value == "others":
        ...

MessageStatus

消息发送状态枚举。

python
from pywxauto.wx import MessageStatus
说明
MessageStatus.SENT已发送
MessageStatus.SENDING发送中
MessageStatus.FAILED发送失败
MessageStatus.RECEIVED已接收
MessageStatus.UNKNOWN未知状态

用法

python
status = chat.send_text("hello", timeout=5)
if status == MessageStatus.SENT:
    print("发送成功")
elif status == MessageStatus.FAILED:
    print("发送失败")