Commit Graph
134 Commits
Author SHA1 Message Date
tiennm99 9f2710569b chore(stock): log dividend event checks 2026-07-21 18:50:48 +07:00
tiennm99 b8617d0a41 fix(coin): remove stale dividend cursor fields 2026-07-21 18:50:30 +07:00
tiennm99 77e8ca05d6 feat(stock): add dividend event buttons 2026-07-21 18:19:50 +07:00
tiennm99 acc291e9cc refactor(portfolio): retire completed migrations 2026-07-21 17:13:19 +07:00
tiennm99 3a8da63211 feat(portfolio): nest asset positions 2026-07-21 16:42:33 +07:00
tiennm99 218b6ce2b8 feat(portfolio): track stock and coin cost basis 2026-07-21 15:52:05 +07:00
tiennm99 6cd89e768c refactor(commands): standardize parameter conventions 2026-07-21 14:51:28 +07:00
tiennm99 d31b3d6b20 fix(commands): remove examples from command discovery 2026-07-21 13:52:53 +07:00
tiennm99 5d46057101 fix(commands): render examples conditionally with inline help code 2026-07-21 13:21:01 +07:00
tiennm99 0866ab4ed3 feat(commands): improve discovery and normalize parameters 2026-07-21 11:45:20 +07:00
tiennm99 55c4520673 test: provision MongoDB 8 with Testcontainers 2026-07-21 09:39:06 +07:00
tiennm99 df92536a34 feat(stock): add ratio dividend commands 2026-07-20 17:32:37 +07:00
tiennm99 6ef9c2c4cf feat(modules): remove world cup module
The 2026 tournament has ended, so the schedule and daily digest commands
have no upcoming matches to report. Drops the module, its catalog entry,
command menu entries, and the WC_FOOTBALL_DATA_TOKEN env var.

Stored subscriber and match-cache documents are left in place.
2026-07-20 11:03:59 +07:00
tiennm99 de76a74c32 feat(misc): add protected /ff giving-up template
Replies with a fixed Vietnamese copypasta for when T1 starts losing, built
from the local community's running jokes. Protected, so it stays out of the
public command menu like the other gated commands.
2026-07-19 20:09:22 +07:00
tiennm99 c71b17b772 feat(modules): match commands case-insensitively
Mobile keyboards autocapitalize, so a typed /Ping silently did nothing and
read as the bot being broken. Registered names are lowercase-only per
validateCommand, so folding case cannot make two commands collide, and the
canonical Command.Name still drives stats, metrics, hooks, and logs.
2026-07-19 20:09:16 +07:00
tiennm99 268938d6b7 refactor(stats): remove completed startup migrations 2026-07-09 15:44:23 +07:00
tiennm99 f67aa7cb7e fix(misc): fall back wheelofnames to text reply 2026-07-09 14:38:04 +07:00
tiennm99 0bd7d71513 feat(misc): promote wheelofnames gif command 2026-07-09 13:14:11 +07:00
tiennm99 38d1db3054 refactor(misc): share disclaimer template 2026-07-09 11:34:53 +07:00
tiennm99 5f95f711f3 feat(misc): add VNG disclaimer aliases 2026-07-07 11:19:27 +07:00
tiennm99 cfa9beba8c feat(coin): allow upstream-supported tickers 2026-07-07 10:12:29 +07:00
tiennm99 beb263318a feat(misc): add wheelofnamesbeta render API 2026-07-07 00:12:58 +07:00
tiennm99 05681f97b2 fix(lol): rename next week command 2026-07-06 20:46:10 +07:00
tiennm99 de31b5eb0a feat(lol): add tomorrow and next-week schedules 2026-07-06 20:20:07 +07:00
tiennm99 a6b4085813 fix(misc): restore wheel beta renderer 2026-07-06 15:30:29 +07:00
tiennm99 a639949d96 feat(misc): render wheel beta with canvas 2026-07-06 15:18:47 +07:00
tiennm99 079c5c1a53 fix(misc): improve wheel beta label readability 2026-07-06 14:37:35 +07:00
tiennm99 bb38eb3857 feat(misc): support vietnamese wheel beta text 2026-07-06 14:28:54 +07:00
tiennm99 0f4425fbc2 feat(misc): move wheel beta pointer right 2026-07-06 14:14:34 +07:00
tiennm99 de4db1acbc feat(misc): rotate wheel beta labels 2026-07-06 14:06:18 +07:00
tiennm99 e4b24f03e4 feat(misc): polish wheel beta animation 2026-07-06 13:48:51 +07:00
tiennm99 0097e897a0 fix(misc): satisfy wheel spin lint 2026-07-06 13:23:12 +07:00
tiennm99 924bc6322d feat(misc): improve wheel beta spin animation 2026-07-06 13:12:22 +07:00
tiennm99 9b728aa41e fix(misc): hold wheel beta result 2026-07-06 12:31:37 +07:00
tiennm99 9dc99d4abc fix(misc): label wheel beta slices 2026-07-06 12:26:53 +07:00
tiennm99 ea99b6c119 fix(misc): tune wheel beta timing 2026-07-06 12:16:15 +07:00
tiennm99 7c239cd976 fix(misc): improve wheel beta animation 2026-07-06 11:47:41 +07:00
tiennm99 5dad4179ce feat(misc): add wheelofnames beta animation 2026-07-06 11:41:20 +07:00
tiennm99 0e39b49e8b feat(misc): add random command and wheel draft streaming 2026-07-06 11:26:50 +07:00
tiennm99 4398395e2a feat(lol): add EWC schedule support 2026-07-06 09:40:01 +07:00
tiennm99 e1e4c594db feat(gold): show buy and sell prices in portfolio 2026-07-03 13:34:34 +07:00
tiennm99 54f20f28d2 feat(misc): add wheelofnames command 2026-07-03 11:12:34 +07:00
tiennm99 df8924d562 refactor(lol): remove match cache cleanup logic 2026-07-01 16:53:11 +07:00
tiennm99 8ba3da62c1 feat(lol): make match cache fallback-only 2026-07-01 16:41:59 +07:00
tiennm99 3a58a2e776 refactor: remove completed migration logic 2026-07-01 16:20:30 +07:00
tiennm99 dce115f3f5 perf(stats): simplify username lookup index 2026-07-01 16:06:03 +07:00
tiennm99 e9322fb6bc feat(lol): expire match cache 2026-07-01 13:40:37 +07:00
tiennm99 9a264f40f5 feat: refine command names and behavior 2026-07-01 13:19:42 +07:00
tiennm99 ae06f10ff0 refactor: remove completed startup migrations 2026-07-01 11:42:59 +07:00
tiennm99 126b70dfa0 fix(stats): merge legacy trade command counts 2026-07-01 11:21:11 +07:00