新增 iMessage 通道适配器完整实现,包含: 1. 核心适配器与工具工厂导出 2. 运行时存储、反射防护、会话路由等基础组件 3. 消息信封、线程管理、回复上下文格式化 4. Tapback 表情反应处理、自定义异常体系 5. 审批按钮、联系人解析、速率限制功能 6. 文本净化、目标解析、缓存管理模块 7. 配置 schema、多账户支持、安装向导等配置模块 8. 审计日志、媒体AI处理等扩展功能
59 lines
1.2 KiB
Python
59 lines
1.2 KiB
Python
TAPBACK_VALUE_MAP: dict[str, int] = {
|
|
"love": 0,
|
|
"heart": 0,
|
|
"like": 1,
|
|
"thumbs_up": 1,
|
|
"dislike": 2,
|
|
"thumbs_down": 2,
|
|
"laugh": 3,
|
|
"exclaim": 4,
|
|
"question": 5,
|
|
}
|
|
|
|
TAPBACK_EMOJI_MAP: dict[str, str] = {
|
|
"❤️": "love",
|
|
"👍": "like",
|
|
"👎": "dislike",
|
|
"😂": "laugh",
|
|
"❗": "exclaim",
|
|
"❓": "question",
|
|
}
|
|
|
|
TAPBACK_REVERSE_MAP: dict[int, str] = {
|
|
0: "❤️",
|
|
1: "👍",
|
|
2: "👎",
|
|
3: "😂",
|
|
4: "❗",
|
|
5: "❓",
|
|
}
|
|
|
|
TAPBACK_NAME_MAP: dict[int, str] = {
|
|
0: "❤️ Loved",
|
|
1: "👍 Liked",
|
|
2: "👎 Disliked",
|
|
3: "😂 Laughed",
|
|
4: "❗ Emphasized",
|
|
5: "❓ Questioned",
|
|
}
|
|
|
|
|
|
def emoji_to_tapback(emoji: str) -> str | None:
|
|
return TAPBACK_EMOJI_MAP.get(emoji)
|
|
|
|
|
|
def resolve_tapback_value(tapback_name: str) -> int | None:
|
|
return TAPBACK_VALUE_MAP.get(tapback_name.lower().strip().lstrip(":"))
|
|
|
|
|
|
def tapback_to_emoji(tapback_value: int) -> str | None:
|
|
return TAPBACK_REVERSE_MAP.get(tapback_value)
|
|
|
|
|
|
def describe_tapback(tapback_value: int) -> str:
|
|
return TAPBACK_NAME_MAP.get(tapback_value, "Reacted")
|
|
|
|
|
|
def is_valid_tapback(emoji: str) -> bool:
|
|
return emoji in TAPBACK_EMOJI_MAP
|