Source Code
Telegram Reaction Prober
What this skill is
Telegram reactions are chat-specific: a bot can only react with emojis that are enabled for that chat/message. When you try an unsupported emoji, Telegram returns:
400 Bad Request: REACTION_INVALID
This skill is the prober (the method + starter datasets), not a global list. It helps you:
- test a list of candidate emojis against a specific
message_id - classify them as Allowed vs Rejected
- optionally remove successful reactions after testing (so you don't spam the chat)
- write the results into
TOOLS.md(or another file)
Important: Do not publish your private chatโs allow/deny list as โthe answer for everyoneโ. Share the prober + candidate sets; each user still probes their own chat.
Limits / Reality check
There is no practical way to "test every emoji" (Unicode is enormous, and this Clawdbot Telegram integration does not expose Telegram's enabled-reaction list directly).
So the best approach is:
- Test a curated emoji set you care about (common reactions)
- Save the whitelist for that chat
- Re-run when Telegram chat settings change
How to run (manual)
- Pick a target Telegram
message_id(e.g. the most recent message in the chat). - Pick a candidate emoji set:
- start small (15โ30), or
- use the included 200-emoji starter list:
skills/telegram-reaction-prober/assets/emoji200-unicode-frequency-2019.txt
- For each emoji:
- call
messagetool withaction=reactand that emoji - if it succeeds โ mark Allowed
- if it fails with
REACTION_INVALIDโ mark Rejected
- call
- Cleanup options:
- Fast/quiet: donโt remove; Telegram generally keeps only one reaction per user/bot (so youโre effectively just flipping it)
- Clean: remove successful reactions after testing via
remove=true
- Write results to
/home/ubuntu/clawd/TOOLS.mdunder a heading like:### Telegram reactions (this chat) โ tested on message_id XYZ
Suggested starter emoji set
Allowed in many chats:
- ๐ โค๏ธ ๐ฅ ๐ ๐ ๐ค ๐
Often rejected (depends on chat):
- โ ๐ ๐ก
Good candidates to test next:
- ๐ ๐ ๐ญ ๐ฎ ๐ ๐ค ๐ ๐ ๐ฏ ๐ก ๐ด ๐ง ๐งฉ โ ๏ธ
Notes
- Be mindful of rate limits; donโt blast 100+ reactions without delays.
- Keep tests on a single known
message_idand record it.