tg-bot-ts/package.json
Nuno Duque Nunes 9e8877483d feat: Leaderboard & Result systems with aligned columns, call/confirm-no commands, persistent message slots
- TextAlign: column alignment for embeds using real gg sans font metrics
- EmbedHelpers: per-player grid/column layouts immune to 1024-char field limit
- Layout: domain-aware formatting wrapper (wrank, bringer, cockroach, tgCount)
- PersistentMessage: multi-slot support for independently-updatable embeds
- Leaderboard: weekly rankings + highlights embed (most kills/deaths, next Bringer)
- Result: per-TG breakdown with wRankAtSubmission snapshot for historical accuracy
- /tg call, /tg poll confirm-no, /tg-admin score-inject, result/leaderboard post commands
- Fix: CharacterRegistry wasn't hydrating ownerKey, breaking K/D bot-wide
- Fix: Leaderboard.buildEntries used current week instead of passed-in week param
- /tg-admin test-align: permanent calibration tool for embed text alignment

Includes data/emojis/anima-mastery.json for new combat stat icons.
2026-06-20 03:04:52 +01:00

26 lines
No EOL
821 B
JSON

{
"name": "tg-bot",
"version": "2.0.0",
"description": "Cabal Online TG planning and tracking bot",
"main": "src/index.ts",
"scripts": {
"start": "ts-node -r tsconfig-paths/register src/index.ts",
"dev": "nodemon",
"register": "ts-node -r tsconfig-paths/register src/index.ts --register",
"aliases": "ts-node scripts/generate-aliases.ts",
"upload-emojis": "ts-node -r tsconfig-paths/register scripts/upload-emojis.ts",
"split-emojis": "ts-node -r tsconfig-paths/register scripts/split-emojis.ts"
},
"dependencies": {
"discord.js": "^14.15.3",
"node-cron": "^3.0.3"
},
"devDependencies": {
"@types/node": "^20.19.41",
"@types/node-cron": "^3.0.0",
"nodemon": "^3.1.0",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.4.0"
}
}