Bisher kam die Discord-Konfiguration (Token, Server-ID, Kanal-ID, erlaubte Nutzer-IDs) ausschließlich aus Umgebungsvariablen. Jetzt unter Einstellungen > Discord einstellbar, inkl. Schritt-für-Schritt- Anleitung zum Einrichten einer Discord-Anwendung/eines Bots (Token erzeugen, einladen, IDs ermitteln). - Migration 026: discord_settings (Token verschlüsselt, wie SMTP/IMAP). - apps/worker/src/discord.ts liest die Einstellungen jetzt aus der DB statt aus process.env; syncDiscord() läuft periodisch (60s) und verbindet automatisch neu, wenn sich Token/Server/Aktivierung geändert haben (Trennung von Verbindungs- und Laufzeitdaten: Kanal-ID und erlaubte Nutzer werden bei jeder Nutzung frisch aus der DB gelesen, ohne Neuverbindung). - Neues API-Modul apps/api/src/modules/discord: Einstellungen lesen/ schreiben, Token- und Testnachricht-Prüfung direkt über die Discord- REST-API (unabhängig vom laufenden Bot-Prozess im Worker). - Rechte discord.read (Admin+) / discord.write (Superadmin), wie beim E-Mail-Modul. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
18 lines
1.1 KiB
TypeScript
18 lines
1.1 KiB
TypeScript
import type { KcModule } from '../core/module.js';
|
|
import { systemModule } from './system/index.js';
|
|
import { identityModule } from './identity/index.js';
|
|
import { customersModule } from './customers/index.js';
|
|
import { auditModule } from './audit/index.js';
|
|
import { connectorsModule } from './connectors/index.js';
|
|
import { resourcesModule } from './resources/index.js';
|
|
import { domainsModule } from './domains/index.js';
|
|
import { catalogModule } from './catalog/index.js';
|
|
import { ticketsModule } from './tickets/index.js';
|
|
import { invoicesModule } from './invoices/index.js';
|
|
import { ordersModule } from './orders/index.js';
|
|
import { backupModule } from './backup/index.js';
|
|
import { mailModule } from './mail/index.js';
|
|
import { discordModule } from './discord/index.js';
|
|
|
|
/** Aktive Module. Neue Module (Produkte, Verträge, Connectoren, Tickets, Rechnungen) werden hier eingetragen. */
|
|
export const modules: KcModule[] = [systemModule, identityModule, customersModule, auditModule, connectorsModule, resourcesModule, catalogModule, domainsModule, ordersModule, ticketsModule, invoicesModule, backupModule, mailModule, discordModule];
|