feat: implement modular discord bot with twitch monitoring, sqlite database, and owner tools
All checks were successful
Auto Build and Push Docker Image / build (push) Successful in 9s
All checks were successful
Auto Build and Push Docker Image / build (push) Successful in 9s
Features: - Modular command and event loading system - Persistent SQLite database (better-sqlite3) - Twitch Helix API monitoring with live notifications - Auto-responder system with message context menu support - Owner-only administrative tools (stats, servers, leave, deploy) - Role-based help system - Docker and Docker Compose integration
This commit is contained in:
@@ -26,7 +26,8 @@ const command: Command = {
|
||||
const ownerCmds: string[] = [];
|
||||
|
||||
client.commands.forEach((cmd) => {
|
||||
const entry = `• **/${cmd.data.name}**: ${cmd.data.description}`;
|
||||
const desc = 'description' in cmd.data ? cmd.data.description : 'Kontextmenü-Befehl';
|
||||
const entry = `• **/${cmd.data.name}**: ${desc}`;
|
||||
|
||||
if (cmd.category === 'Public') {
|
||||
publicCmds.push(entry);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Events, Interaction } from 'discord.js';
|
||||
import { Events, Interaction, ChatInputCommandInteraction, MessageContextMenuCommandInteraction } from 'discord.js';
|
||||
import { ExtendedClient } from '../structures/ExtendedClient.js';
|
||||
|
||||
import { DB } from '../structures/Database.js';
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
import {
|
||||
ChatInputCommandInteraction,
|
||||
SlashCommandBuilder,
|
||||
SlashCommandOptionsOnlyBuilder,
|
||||
SlashCommandSubcommandsOnlyBuilder,
|
||||
ContextMenuCommandBuilder,
|
||||
MessageContextMenuCommandInteraction,
|
||||
ModalSubmitInteraction
|
||||
} from 'discord.js';
|
||||
import { ExtendedClient } from './ExtendedClient.js';
|
||||
ExtendedClient
|
||||
} from './ExtendedClient.js';
|
||||
|
||||
export interface Command {
|
||||
data: SlashCommandBuilder | SlashCommandOptionsOnlyBuilder | SlashCommandSubcommandsOnlyBuilder | ContextMenuCommandBuilder;
|
||||
data: any;
|
||||
category: 'Owner' | 'Admin' | 'Public';
|
||||
execute: (interaction: ChatInputCommandInteraction | MessageContextMenuCommandInteraction, client: ExtendedClient) => Promise<void>;
|
||||
handleModal?: (interaction: ModalSubmitInteraction, client: ExtendedClient) => Promise<void>;
|
||||
execute: (interaction: any, client: ExtendedClient) => Promise<void>;
|
||||
handleModal?: (interaction: any, client: ExtendedClient) => Promise<void>;
|
||||
cooldown?: number;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user