tiennm99
fda0bbd0b1
feat(stock): persist per-user dividend history
2026-07-22 16:17:29 +07:00
tiennm99
b6f6361c94
feat: format compact portfolio numbers
2026-07-22 12:27:52 +07:00
tiennm99
a1f0a682fc
fix(stock): note currency in portfolio title
2026-07-22 10:59:40 +07:00
tiennm99
f2dd69f8bc
docs: remove completed implementation records
2026-07-21 19:13:34 +07:00
tiennm99
cb4520830a
docs(deploy): refresh persisted storage layout
2026-07-21 19:13:28 +07:00
tiennm99
bc2d3528cb
refactor(coin): retire completed startup cleanup
2026-07-21 19:13:23 +07:00
tiennm99
907d07f0af
refactor(metrics): remove unused AI counters
2026-07-21 19:13:15 +07:00
tiennm99
c9fa4ac6dd
chore(stock): log dividend event checks
2026-07-21 18:50:48 +07:00
tiennm99
39955669a8
fix(coin): remove stale dividend cursor fields
2026-07-21 18:50:30 +07:00
tiennm99
4b15ff1634
docs(stock): document dividend event buttons
2026-07-21 18:20:14 +07:00
tiennm99
372d45be89
feat(stock): add dividend event buttons
2026-07-21 18:19:50 +07:00
tiennm99
aeec01a6d0
docs(stock): research dividend event APIs
2026-07-21 17:13:43 +07:00
tiennm99
2078363421
refactor(portfolio): retire completed migrations
2026-07-21 17:13:19 +07:00
tiennm99
2f6b65103e
feat(portfolio): nest asset positions
2026-07-21 16:42:33 +07:00
tiennm99
c2d3738d6a
docs(portfolio): document cost basis and P&L
2026-07-21 15:52:30 +07:00
tiennm99
78ded3d7a4
feat(portfolio): track stock and coin cost basis
2026-07-21 15:52:05 +07:00
tiennm99
93bef70f18
refactor(commands): standardize parameter conventions
2026-07-21 14:51:28 +07:00
tiennm99
f3751ccdd5
fix(commands): remove examples from command discovery
2026-07-21 13:52:53 +07:00
tiennm99
5fb394b942
fix(commands): render examples conditionally with inline help code
2026-07-21 13:21:01 +07:00
tiennm99
7872077c4b
feat(commands): improve discovery and normalize parameters
2026-07-21 11:45:20 +07:00
tiennm99
f3c046f985
test: provision MongoDB 8 with Testcontainers
2026-07-21 09:39:06 +07:00
tiennm99
ae8064fd2b
refactor: adopt cross-platform Go development workflow
2026-07-21 09:05:20 +07:00
tiennm99
5a1d889648
docs(stock): document dividend commands
2026-07-20 17:33:10 +07:00
tiennm99
a444815f34
feat(stock): add ratio dividend commands
2026-07-20 17:32:37 +07:00
tiennm99
ec7aa74bff
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
296ce97633
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
a68cc1162f
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
d86cdd0fbb
build: update Go toolchain and crypto dependency
2026-07-09 18:18:01 +07:00
tiennm99
5600a80ae0
refactor(stats): remove completed startup migrations
2026-07-09 15:44:23 +07:00
tiennm99
a59e9a32c3
fix(misc): fall back wheelofnames to text reply
2026-07-09 14:38:04 +07:00
tiennm99
ba50511a83
feat(misc): promote wheelofnames gif command
2026-07-09 13:14:11 +07:00
tiennm99
e703b5a4f7
refactor(misc): share disclaimer template
2026-07-09 11:34:53 +07:00
tiennm99
482a737309
feat(misc): add VNG disclaimer aliases
2026-07-07 11:19:27 +07:00
tiennm99
8199a870ea
docs(plans): remove plan artifacts
2026-07-07 10:19:51 +07:00
tiennm99
93272a35e7
feat(coin): allow upstream-supported tickers
2026-07-07 10:12:29 +07:00
tiennm99
54b1747d7b
feat(misc): add wheelofnamesbeta render API
2026-07-07 00:12:58 +07:00
tiennm99
194caf17eb
fix(lol): rename next week command
2026-07-06 20:46:10 +07:00
tiennm99
00a5ff1c0b
feat(lol): add tomorrow and next-week schedules
2026-07-06 20:20:07 +07:00
tiennm99
0a4d237391
fix(misc): restore wheel beta renderer
2026-07-06 15:30:29 +07:00
tiennm99
e7154d27f3
feat(misc): render wheel beta with canvas
2026-07-06 15:18:47 +07:00
tiennm99
5e07ccc4f6
fix(misc): improve wheel beta label readability
2026-07-06 14:37:35 +07:00
tiennm99
edd62603fa
feat(misc): support vietnamese wheel beta text
2026-07-06 14:28:54 +07:00
tiennm99
ae0b61b61f
feat(misc): move wheel beta pointer right
2026-07-06 14:14:34 +07:00
tiennm99
c8a1586580
feat(misc): rotate wheel beta labels
2026-07-06 14:06:18 +07:00
tiennm99
2ac4f59b53
feat(misc): polish wheel beta animation
2026-07-06 13:48:51 +07:00
tiennm99
0c8ca4bb6c
docs(agents): require lint before code commits
2026-07-06 13:23:47 +07:00
tiennm99
6d021d1e04
fix(misc): satisfy wheel spin lint
2026-07-06 13:23:12 +07:00
tiennm99
eb4a3c49c4
feat(misc): improve wheel beta spin animation
2026-07-06 13:12:22 +07:00
tiennm99
4ffa045ffe
fix(misc): hold wheel beta result
2026-07-06 12:31:37 +07:00
tiennm99
aebdab0e8b
fix(misc): label wheel beta slices
2026-07-06 12:26:53 +07:00