ForcePilot/backend/package/yuxi/channels/adapters/qqbot/constants.py
Kris 552aef767c feat(qqbot): 实现QQ机器人适配器完整功能模块
新增QQ Bot适配器完整代码栈,包含:
1. 基础适配器入口与工具类封装
2. 会话管理、重试队列与流量控制
3. 命令系统与内置指令(ping/help/status等)
4. 富媒体消息处理与格式转换
5. 引用存储与审批管理
6. 凭证备份与会话持久化
7. 健康检查与交互回调系统
2026-05-12 00:48:04 +08:00

106 lines
2.9 KiB
Python

"""QQ Bot Gateway 常量定义"""
class Opcode:
DISPATCH = 0
HEARTBEAT = 1
IDENTIFY = 2
RESUME = 6
RECONNECT = 7
INVALID_SESSION = 9
HELLO = 10
HEARTBEAT_ACK = 11
class ECode:
UNKNOWN_ERROR = 4000
UNKNOWN_OPCODE = 4001
DECODE_ERROR = 4002
NOT_AUTHENTICATED = 4003
AUTHENTICATION_FAILED = 4004
RATE_LIMITED = 4008
SESSION_TIMEOUT = 4009
INVALID_SHARD = 4010
INVALID_SHARD_COUNT = 4011
INVALID_INTENT = 4012
INVALID_API_VERSION = 4013
INVALID_SEQ = 4014
BOT_REMOVED = 4100
ACCOUNT_BANNED = 4101
FATAL_CLOSE = 4914
FATAL_ERROR = 4915
class Intent:
GUILDS = 1 << 0
GUILD_MEMBERS = 1 << 1
GUILD_MESSAGES = 1 << 9
GUILD_MESSAGE_REACTIONS = 1 << 10
GUILD_DIRECT_MESSAGES = 1 << 12
GROUP_AND_C2C = 1 << 25
INTERACTION = 1 << 26
AUDIO_ACTION = 1 << 29
AT_MESSAGES = 1 << 30
DEFAULT = GUILD_MESSAGES | AT_MESSAGES | GUILD_DIRECT_MESSAGES
ALL = DEFAULT | GROUP_AND_C2C | INTERACTION
class EventType:
READY = "READY"
RESUMED = "RESUMED"
AT_MESSAGE_CREATE = "AT_MESSAGE_CREATE"
DIRECT_MESSAGE_CREATE = "DIRECT_MESSAGE_CREATE"
C2C_MESSAGE_CREATE = "C2C_MESSAGE_CREATE"
GROUP_AT_MESSAGE_CREATE = "GROUP_AT_MESSAGE_CREATE"
MESSAGE_CREATE = "MESSAGE_CREATE"
INTERACTION_CREATE = "INTERACTION_CREATE"
MESSAGE_DELETE = "MESSAGE_DELETE"
PUBLIC_MESSAGE_DELETE = "PUBLIC_MESSAGE_DELETE"
CLOSE_CODE_MAP: dict[int, str] = {
ECode.UNKNOWN_ERROR: "unknown_error",
ECode.UNKNOWN_OPCODE: "unknown_opcode",
ECode.DECODE_ERROR: "decode_error",
ECode.NOT_AUTHENTICATED: "not_authenticated",
ECode.AUTHENTICATION_FAILED: "authentication_failed",
ECode.RATE_LIMITED: "rate_limited",
ECode.SESSION_TIMEOUT: "session_timeout",
ECode.INVALID_SHARD: "invalid_shard",
ECode.INVALID_SHARD_COUNT: "invalid_shard_count",
ECode.INVALID_INTENT: "invalid_intent",
ECode.INVALID_API_VERSION: "invalid_api_version",
ECode.INVALID_SEQ: "invalid_seq",
ECode.BOT_REMOVED: "bot_removed",
ECode.ACCOUNT_BANNED: "account_banned",
4015: "invalid_shard_id",
4102: "bot_removed_group",
}
SERVER_CLOSE_CODE_MAP: dict[int, str] = {
4900: "server_internal_error",
4901: "server_overload",
4902: "server_maintenance",
4903: "server_network_error",
4904: "gateway_overload",
4905: "gateway_maintenance",
4906: "gateway_internal_error",
4907: "gateway_network_error",
4908: "gateway_unavailable",
4909: "service_degraded",
4910: "database_error",
4911: "cache_error",
4912: "rate_limit_server",
4913: "server_timeout",
}
DM_CHAT_PREFIX = "dm_"
GROUP_CHAT_PREFIX = "group_"
WS_OP_DISPATCH = Opcode.DISPATCH
WS_OP_HEARTBEAT = Opcode.HEARTBEAT
WS_OP_HEARTBEAT_ACK = Opcode.HEARTBEAT_ACK
WS_OP_HELLO = Opcode.HELLO
WS_OP_IDENTIFY = Opcode.IDENTIFY
WS_OP_INVALID_SESSION = Opcode.INVALID_SESSION
WS_OP_RECONNECT = Opcode.RECONNECT