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
|