mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-11-11 14:37:32 +01:00
A compliment gets a reaction drawn from a small warm set (❤️ 🥰 😊 👍 🎉 🙏 😸) put on the compliment itself, and nothing in the group -- the one answer that adds no line. Same cooldown as every other command. The transport learns reactions: send_reaction on the Protocol, POST /v1/reactions/<number> on the REST adapter with the four fields api.SendReactionRequest requires (204 back), a recorded list on the fake. CommandContext.react() names the target the way a quote does, and falls back to the emoji as text for an envelope with no timestamp, so a shape this bot has never seen is visible rather than swallowed. The fake container gains the endpoint, strict about the schema, and records reactions in order with the sends; a scenario can now expect {kind: reaction, quotes: true}. First two-word trigger: fold() keeps the inner space and the registry matches whole text first, so "!good bot" resolves and "!good" does not; one-word spellings cover a double space. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
180 lines
2.9 KiB
JSON
180 lines
2.9 KiB
JSON
{
|
||
"_comment": "Command trigger words, including the styled Unicode variants people actually type. These live as data, not source, because they are data: adding an alias should never mean touching Python. One trap worth knowing before you edit: !poems sits two edits from !pies and passes test_no_two_commands_are_within_reach_of_each_other only because !poem is one edit away and wins the tie. Removing !poem would fail the suite at !poems, which is nowhere near where the change was made.",
|
||
"cat": [
|
||
"!kot",
|
||
"!koty",
|
||
"!kots",
|
||
"!cat",
|
||
"!cats",
|
||
"!meow",
|
||
"!miau",
|
||
"!ᴋᴏᴛ",
|
||
"!𝓴𝓸𝓽",
|
||
"!𝗸𝗼𝘁"
|
||
],
|
||
"dog": [
|
||
"!pies",
|
||
"!psy",
|
||
"!dog",
|
||
"!dogs",
|
||
"!woof",
|
||
"!szczek",
|
||
"!𝗽𝗶𝗲𝘀",
|
||
"!͓̽p͓̽i͓̽e͓̽s͓̽"
|
||
],
|
||
"gecko": [
|
||
"!gekon",
|
||
"!gekony",
|
||
"!geko",
|
||
"!gecko",
|
||
"!geckon",
|
||
"!geckos"
|
||
],
|
||
"trap": [
|
||
"!pułapka",
|
||
"!pulapka",
|
||
"!pułapki",
|
||
"!pulapki",
|
||
"!pułapkę",
|
||
"!pulapke",
|
||
"!trap",
|
||
"!traps",
|
||
"!trapy",
|
||
"!trapper",
|
||
"!sidła",
|
||
"!sidla",
|
||
"!sidło",
|
||
"!sidlo",
|
||
"!wnyk",
|
||
"!wnyki",
|
||
"!potrzask",
|
||
"!zasadzka",
|
||
"!klatka",
|
||
"!samołówka",
|
||
"!samolowka",
|
||
"!beartrap",
|
||
"!bear_trap",
|
||
"!snare",
|
||
"!snares",
|
||
"!mousetrap"
|
||
],
|
||
"art": [
|
||
"!sztuka",
|
||
"!sztukę",
|
||
"!sztuki",
|
||
"!art"
|
||
],
|
||
"pope": [
|
||
"!papież",
|
||
"!papiez",
|
||
"!papieze",
|
||
"!papieża",
|
||
"!papa",
|
||
"!pope",
|
||
"!popes",
|
||
"!pontifex",
|
||
"!𝗽𝗮𝗽𝗶𝗲𝘇"
|
||
],
|
||
"poem": [
|
||
"!wiersz",
|
||
"!wiersze",
|
||
"!wiersza",
|
||
"!wierszyk",
|
||
"!poem",
|
||
"!poems",
|
||
"!poezja",
|
||
"!poezje",
|
||
"!poetry"
|
||
],
|
||
"stats_today": [
|
||
"!staty",
|
||
"!statystyki",
|
||
"!stats",
|
||
"!dziś",
|
||
"!dzis"
|
||
],
|
||
"stats_yesterday": [
|
||
"!wczoraj",
|
||
"!yesterday"
|
||
],
|
||
"stats_week": [
|
||
"!tydzień",
|
||
"!tydzien",
|
||
"!week"
|
||
],
|
||
"stats_month": [
|
||
"!miesiąc",
|
||
"!miesiac",
|
||
"!month"
|
||
],
|
||
"stats_year": [
|
||
"!rok",
|
||
"!year"
|
||
],
|
||
"stats_records": [
|
||
"!rekordy",
|
||
"!rekord",
|
||
"!records"
|
||
],
|
||
"stats_crown": [
|
||
"!korona",
|
||
"!crown"
|
||
],
|
||
"stats_weekdays": [
|
||
"!dni",
|
||
"!days"
|
||
],
|
||
"stats_me": [
|
||
"!ja",
|
||
"!moje",
|
||
"!mnie"
|
||
],
|
||
"command_stats": [
|
||
"!analityka",
|
||
"!command_stats",
|
||
"!commandstats",
|
||
"!analytics",
|
||
"!uzycie",
|
||
"!użycie",
|
||
"!ranking"
|
||
],
|
||
"help": [
|
||
"!pomoc",
|
||
"!pomocy",
|
||
"!help",
|
||
"!komendy",
|
||
"!commands"
|
||
],
|
||
"random": [
|
||
"!losowe",
|
||
"!losuj",
|
||
"!random",
|
||
"!rand"
|
||
],
|
||
"suggest": [
|
||
"!zaproponuj",
|
||
"!propozycja",
|
||
"!sugestia",
|
||
"!suggest",
|
||
"!pomysl"
|
||
],
|
||
"good_bot": [
|
||
"!good bot",
|
||
"!dobry bot",
|
||
"!goodbot",
|
||
"!dobrybot",
|
||
"!good_bot",
|
||
"!dobry_bot"
|
||
],
|
||
"mute": [
|
||
"!cisza",
|
||
"!cicho",
|
||
"!mute"
|
||
],
|
||
"unmute": [
|
||
"!odcisz",
|
||
"!gadaj",
|
||
"!wracaj"
|
||
]
|
||
}
|