新增 Twitter 和 Viber 两个渠道扩展。 Twitter 渠道扩展功能模块: - auth: OAuth 认证管理 - config: 渠道配置管理 - gateway: SSE/WebSocket 网关接入 - webhook: Webhook 事件处理 - outbound: 外发消息管理 - streaming: 流式消息处理 - pairing: 用户配对与绑定 - security: 安全校验 - dedupe: 消息去重 - monitor: 渠道状态监控 - status: 会话状态管理 - session: 会话管理 - tweets: 推文管理 - social: 社交互动 - reactions: 表情反应 - media: 媒体资源处理 Viber 渠道扩展功能模块: - config: 渠道配置管理 - gateway: SSE/WebSocket 网关接入 - webhook: Webhook 事件处理 - outbound: 外发消息管理 - streaming: 流式消息处理 - pairing: 用户配对与绑定 - security: 安全校验 - dedupe: 消息去重 - monitor: 渠道状态监控 - status: 会话状态管理 - rate_limiter: 速率限制 - media: 媒体资源处理
48 lines
881 B
Python
48 lines
881 B
Python
from __future__ import annotations
|
|
|
|
SUPPORTED_REACTIONS = frozenset(
|
|
{
|
|
"❤️",
|
|
"😆",
|
|
"😢",
|
|
"😲",
|
|
"🔥",
|
|
"👍",
|
|
"👎",
|
|
"😂",
|
|
"🙏",
|
|
"💯",
|
|
"🎉",
|
|
"👏",
|
|
"😡",
|
|
"🤔",
|
|
}
|
|
)
|
|
|
|
_EMOJI_MAP = {
|
|
"heart": "❤️",
|
|
"like": "👍",
|
|
"dislike": "👎",
|
|
"laugh": "😂",
|
|
"sad": "😢",
|
|
"wow": "😲",
|
|
"fire": "🔥",
|
|
"pray": "🙏",
|
|
"hundred": "💯",
|
|
"party": "🎉",
|
|
"clap": "👏",
|
|
"angry": "😡",
|
|
"think": "🤔",
|
|
}
|
|
|
|
|
|
def normalize_emoji(emoji: str) -> str | None:
|
|
stripped = emoji.strip()
|
|
if stripped in SUPPORTED_REACTIONS:
|
|
return stripped
|
|
return _EMOJI_MAP.get(stripped.lower())
|
|
|
|
|
|
def is_supported(emoji: str) -> bool:
|
|
return normalize_emoji(emoji) in SUPPORTED_REACTIONS
|