feat(wordledaily): add the daily Wordle HTML5 game

/wordledaily sends a BotFather game card whose page plays one shared word
per day, changing at 07:00 ICT. The server checks guesses, saves each
player's board after every guess and keeps NYT-style stats. A win is
reported with setGameScore, and in a group one live results message shows
everyone's colour grids.

/wordledaily_subscribe and /wordledaily_unsubscribe opt a chat or topic in
to the 07:00 push: yesterday's recap, opening with the answer and the
group's win streak, then today's card.

The HTML5 game plumbing that noitu used is now shared in util/htmlgame, and
the wordle word list and scoring live in wordle/wordlist.
This commit is contained in:
tiennm99 committed 2026-10-09 17:20:02 +07:00
1 parent 871b4a1042
commit c0231ceadf
56 files changed
+8013 -306

No files matched your search

+4
View File
@@ -107,6 +107,10 @@ func TestCommandDiscovery_AllPublicCommandsHaveSafeMetadata(t *testing.T) {
"tth": "[target...]",
"wheelofnames": "<option,...>",
"wordle": "[word]",
"wordledaily": "",
"wordledaily_subscribe": "",
"wordledaily_unsubscribe": "",
}
menu := botCommandMenu(reg)