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[] = [];
|
const ownerCmds: string[] = [];
|
||||||
|
|
||||||
client.commands.forEach((cmd) => {
|
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') {
|
if (cmd.category === 'Public') {
|
||||||
publicCmds.push(entry);
|
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 { ExtendedClient } from '../structures/ExtendedClient.js';
|
||||||
|
|
||||||
import { DB } from '../structures/Database.js';
|
import { DB } from '../structures/Database.js';
|
||||||
|
|||||||
@@ -1,18 +1,11 @@
|
|||||||
import {
|
import {
|
||||||
ChatInputCommandInteraction,
|
ExtendedClient
|
||||||
SlashCommandBuilder,
|
} from './ExtendedClient.js';
|
||||||
SlashCommandOptionsOnlyBuilder,
|
|
||||||
SlashCommandSubcommandsOnlyBuilder,
|
|
||||||
ContextMenuCommandBuilder,
|
|
||||||
MessageContextMenuCommandInteraction,
|
|
||||||
ModalSubmitInteraction
|
|
||||||
} from 'discord.js';
|
|
||||||
import { ExtendedClient } from './ExtendedClient.js';
|
|
||||||
|
|
||||||
export interface Command {
|
export interface Command {
|
||||||
data: SlashCommandBuilder | SlashCommandOptionsOnlyBuilder | SlashCommandSubcommandsOnlyBuilder | ContextMenuCommandBuilder;
|
data: any;
|
||||||
category: 'Owner' | 'Admin' | 'Public';
|
category: 'Owner' | 'Admin' | 'Public';
|
||||||
execute: (interaction: ChatInputCommandInteraction | MessageContextMenuCommandInteraction, client: ExtendedClient) => Promise<void>;
|
execute: (interaction: any, client: ExtendedClient) => Promise<void>;
|
||||||
handleModal?: (interaction: ModalSubmitInteraction, client: ExtendedClient) => Promise<void>;
|
handleModal?: (interaction: any, client: ExtendedClient) => Promise<void>;
|
||||||
cooldown?: number;
|
cooldown?: number;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user