该提交新增了完整的BlueBubbles渠道插件,支持通过BlueBubbles Server集成iMessage功能,包含以下核心能力: 1. 支持私聊和群聊会话管理,自动区分会话类型 2. 完整的消息收发支持,包括文本、图片、语音、文件、视频消息 3. 支持消息反应、已读回执、消息编辑与撤回 4. 内置去重、防抖处理机制 5. 支持Webhook和WebSocket两种事件接收方式 6. 完善的权限与安全校验机制 7. 历史消息同步与抓包功能 8. TTS语音合成与发送支持 9. 群组管理能力,包括重命名、修改头像、增减成员等
54 lines
1.3 KiB
Python
54 lines
1.3 KiB
Python
REACTION_ALIASES: dict[str, str] = {
|
|
"love": "love",
|
|
"\u2764\ufe0f": "love",
|
|
"\u2764": "love",
|
|
"fire": "love",
|
|
"\U0001f525": "love",
|
|
"heart_eyes": "love",
|
|
"like": "like",
|
|
"thumbsup": "like",
|
|
"thumb": "like",
|
|
"ok": "like",
|
|
"dislike": "dislike",
|
|
"thumbsdown": "dislike",
|
|
"boo": "dislike",
|
|
"no": "dislike",
|
|
"laugh": "laugh",
|
|
"haha": "laugh",
|
|
"lol": "laugh",
|
|
"lmao": "laugh",
|
|
"rofl": "laugh",
|
|
"\U0001f602": "laugh",
|
|
"\U0001f923": "laugh",
|
|
"xd": "laugh",
|
|
"emphasize": "emphasize",
|
|
"!!": "emphasize",
|
|
"\u203c\ufe0f": "emphasize",
|
|
"\u2757": "emphasize",
|
|
"important": "emphasize",
|
|
"bang": "emphasize",
|
|
"wow": "emphasize",
|
|
"question": "question",
|
|
"?": "question",
|
|
"\u2753": "question",
|
|
"\u2754": "question",
|
|
"ask": "question",
|
|
}
|
|
|
|
SUPPORTED_REACTIONS = frozenset({"love", "like", "dislike", "laugh", "emphasize", "question"})
|
|
|
|
|
|
def normalize_reaction_loose(raw: str) -> str:
|
|
return REACTION_ALIASES.get(raw.strip().lower(), "love")
|
|
|
|
|
|
def normalize_reaction_strict(raw: str) -> str:
|
|
key = raw.strip().lower()
|
|
if key not in REACTION_ALIASES:
|
|
raise ValueError(f"Unsupported reaction: {raw}")
|
|
return REACTION_ALIASES[key]
|
|
|
|
|
|
def is_supported_reaction(name: str) -> bool:
|
|
return name in SUPPORTED_REACTIONS
|