Features: - Add /tournaments command with status and game filters - Add tournament API integration to PlayerService - Add beautiful tournament embed builders with prize pools - Protect sync-games from overwriting manual customizations - Improve error handling with proper MessageFlags Changes: - Add getTournamentsData() and getTournamentData() to PlayerService - Add tournament command handler with pagination support - Add tournament embed builders with rich formatting - Update deployment docs for v1.2.10 features - Add issue tracker documentation - Add tournament testing script - Fix ephemeral flags throughout CommandHandler - Improve permission checks with PermissionFlagsBits Version: 1.2.11
2.5 KiB
2.5 KiB
VRBattles Discord Bot – Issue Tracker
Use this checklist to track code-quality fixes and consistency updates. Check items off as completed and commit this file with your changes.
How to use
- Edit this file, change "[ ]" to "[x]" for completed items, and include a short note or PR link if helpful.
Checklist
-
Replace admin permission check with PermissionFlagsBits.Administrator
- Location:
src/commands/CommandHandler.js(inhandleRegisterServer) - Desired:
interaction.member.permissions.has(PermissionFlagsBits.Administrator)
- Location:
-
Replace legacy
flagsephemeral usage withephemeral: true- Location: various replies in
src/commands/CommandHandler.jsandsrc/commands/SubscriptionCommands.js - Notes: decide ephemerality at
reply/deferReply; it cannot be changed viaeditReply
- Location: various replies in
-
Switch
interaction.isCommand()tointeraction.isChatInputCommand()- Location:
src/Bot.js(inhandleInteraction)
- Location:
-
Use
PermissionFlagsBitsfor channel permission checks- Location:
src/services/NotificationService.js - Replace string permissions (e.g., 'SendMessages', 'ViewChannel') with
PermissionFlagsBits.*
- Location:
-
Clean up
SubscriptionCommandsduplicates and constructor mismatch- Location:
src/commands/SubscriptionCommands.js - Remove duplicated methods (
getGame,createOrUpdateSubscription,safeReply), fix constructor to accept(supabase, logger)and use the injected logger
- Location:
-
Fix
PlayerServicelogging- Location:
src/services/PlayerService.js - Inject a logger or use a consistent logging strategy; remove
this.loggerreferences if not injected
- Location:
-
Align
/helpcategory choices with handler expectations- Locations:
deploy-commands.js(slash command choices forhelp)src/commands/HelpCommand.js(expects categories likegetting_started,search, etc.)
- Decide whether to offer topic categories or game names and make both sides consistent
- Locations:
-
Add guild-scoped slash command deployment for development
- Location:
deploy-commands.js(or add a newdeploy-commands.dev.js) - Use
Routes.applicationGuildCommands(CLIENT_ID, GUILD_ID)for fast iteration in dev
- Location:
-
Standardize interaction handlers and checks
- Ensure consistent use of
isChatInputCommand,isButton, and ephemerality decisions across commands and buttons
- Ensure consistent use of
Notes
- Keep PRs small and focused (one checklist item per PR when possible).
- Update this file with any extra context, follow-ups, or links.