枚举类型
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.ALL | 0 | 所有消息 | - |
DBEvent.TEXT | 1 | 文本消息 | Event.TEXT |
DBEvent.TEXT2 | 2 | 文本消息(变体) | Event.TEXT |
DBEvent.IMAGE | 3 | 图片消息 | Event.IMAGE |
DBEvent.VOICE | 34 | 语音消息 | Event.VOICE |
DBEvent.CARD | 42 | 名片消息 | Event.CARD |
DBEvent.VIDEO | 43 | 视频消息 | Event.VIDEO |
DBEvent.EMOTION | 47 | 表情消息 | Event.EMOTION |
DBEvent.LOCATION | 48 | 位置消息 | Event.LOCATION |
DBEvent.VOIP | 50 | 通话消息 | Event.VOIP |
DBEvent.OPEN_IM_CARD | 66 | 企业名片 | Event.CARD |
DBEvent.SYSTEM | 10000 | 系统消息 | Event.SYSTEM |
DBEvent.FILE | 25769803825 | 文件消息 | Event.FILE |
DBEvent.FILE_WAIT | 317827579953 | 文件待接收 | Event.FILE |
DBEvent.LINK | 21474836529 | 链接消息 | Event.LINK |
DBEvent.LINK2 | 292057776177 | 链接消息(变体) | Event.LINK |
DBEvent.SONG | 12884901937 | 音乐消息 | Event.MUSIC |
DBEvent.RED_ENVELOPE | 8594229559345 | 红包消息 | Event.RED_PACKET |
DBEvent.TRANSFER | 8589934592049 | 转账消息 | Event.TRANSFER |
DBEvent.QUOTE | 244813135921 | 引用消息 | Event.QUOTE |
DBEvent.MERGED_FORWARD | 81604378673 | 合并转发 | Event.MERGE |
DBEvent.FINDER_VIDEO | 219043332145 | 视频号视频 | Event.OTHER |
DBEvent.COLLECTION | 103079215153 | 收藏消息 | Event.OTHER |
DBEvent.PAT | 266287972401 | 拍一拍 | Event.OTHER |
DBEvent.GROUP_ANNOUNCEMENT | 373662154801 | 群公告 | Event.SYSTEM |
辅助函数
python
from pywxauto.wx import db_type_to_event
# 将 DBEvent 整数值映射到 Event 枚举
event = db_type_to_event(message["type"]) # 例: 1 -> Event.TEXTSource
消息来源枚举。
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("发送失败")