Implement command cooldown management and enhance command execution flow
- Introduced `applyCommandCooldown` function to manage per-command cooldowns after execution, improving command rate limiting. - Updated command execution flow to include cooldown application, ensuring users are informed of cooldown status. - Enhanced error handling in interaction replies, allowing for more graceful error management and user feedback. - Improved the handling of interaction responses across various commands, ensuring consistent user experience. - Added permission checks for new commands, ensuring only authorized users can execute specific actions.
This commit is contained in:
@@ -92,6 +92,41 @@ export function moduleForCommand(commandName: string): DashboardModuleId | null
|
||||
return COMMAND_MODULE_MAP[commandName] ?? null;
|
||||
}
|
||||
|
||||
/** Component customId → dashboard module (null = no module gate). */
|
||||
export function moduleForComponent(customId: string): DashboardModuleId | null {
|
||||
if (customId.startsWith('mod:confirm:') || customId.startsWith('mod:cancel:')) {
|
||||
return 'moderation';
|
||||
}
|
||||
if (customId.startsWith('verify:')) {
|
||||
return 'verification';
|
||||
}
|
||||
if (customId.startsWith('eco:bj:')) {
|
||||
return 'economy';
|
||||
}
|
||||
if (customId.startsWith('fun:')) {
|
||||
return 'fun';
|
||||
}
|
||||
if (customId.startsWith('gw:')) {
|
||||
return 'giveaways';
|
||||
}
|
||||
if (customId.startsWith('ticket:') || customId === 'ticket:select') {
|
||||
return 'tickets';
|
||||
}
|
||||
if (customId.startsWith('sr:')) {
|
||||
return 'selfroles';
|
||||
}
|
||||
if (customId.startsWith('sug:')) {
|
||||
return 'suggestions';
|
||||
}
|
||||
if (customId.startsWith('tv:')) {
|
||||
return 'tempvoice';
|
||||
}
|
||||
if (customId.startsWith('gbackup:')) {
|
||||
return 'guildbackup';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
export async function isFeatureFlagEnabled(
|
||||
prisma: PrismaClient,
|
||||
key: string,
|
||||
|
||||
Reference in New Issue
Block a user