Veraltet
Bitte betrachten Sie andere Alternativen. Sie können es kontinuierlich verwenden, aber es wird keine Unterstützung angeboten.

Verwenden Sie TypeScript, Next.js 13, React 18 und Chakra UI 2.0
Video: https://youtu.be/idmpjt5pzvk
Live-Demo: https://demo-bot.vercel.app
| Licht | Dunkel |
|---|---|
![]() | ![]() |
Als Vorlage müssen Sie ein paar Dinge anpassen, damit sie funktioniert
Klonen Sie das Repo
git clone https://github.com/fuma_nama/discord-bot-dashboard-next.git
Abhängigkeiten installieren
Wir bevorzugen immer PNpm
| NPM | Pnpm |
|---|---|
npm install | pnpm install |
Dateien anpassen
Die Dateistruktur dieses Projekts
| Weg | Beschreibung |
|---|---|
| src/Seiten/* | Alle Seiten |
| SRC/Komponenten/* | Komponenten |
| src/api/* | API -Utils |
| src/config/* | Gemeinsame Konfigurationen |
Merkmale definieren
Das Dashboard bietet integrierte Unterstützung für die Konfiguration von Funktionen
Benutzer können Funktionen aktivieren/deaktivieren und die Funktion nach Aktivierung konfigurieren
Passen Sie alle Typierungen in src/config/typen/benutzerdefinierten typen an.ts an.
CustomFeatures werden zum Definieren von Funktionen und Optionen verwendet. Weitere Informationen finden Sie im Beispiel
Öffnen Sie SRC/Konfiguration/Funktionen
Sie können sehen, wie eine Funktion konfiguriert ist
'feature-id' : {
name : 'Feature name' ,
description : 'Description about this feature' ,
icon : < Icon as = { BsMusicNoteBeamed } /> , //give it a cool icon
useRender : ( data ) => {
//render the form
} ,
} Die Eigenschaft useRender wird verwendet, um das Feature -Konfigurationspanel zu rendern
Schauen Sie sich hier für Beispiele an
Allgemeine Informationen konfigurieren
Ändern Sie SRC/config/Common.tsx
Konfigurieren von Umgebungsvariablen
Diese Variablen in .Env.Example sind erforderlich
Sie können Umgebungsvariablen definieren, indem Sie eine .env -Datei erstellen
Setup Backend Server
Um das Dashboard mit Ihrem Discord Bot in Verbindung zu bringen, benötigen Sie einen Backend -Server
Sie können es in allen Programmiersprachen implementieren
Lesen Sie hier, um einen Leitfaden zur Entwicklung Ihres eigenen Servers zu entwickeln
Erledigt!
Starten Sie die App mit pnpm run dev (hängt von Ihrem Paketmanager ab)
Dann sollten Sie sehen, wie die App in Port 3000 gestartet wird
Lokalisierung | Formen
Wir verwenden die API -Routen von Next.js, um die Autorisierung zu bewältigen
Open Discord Developer Portal
Erstellen Sie Ihre OATH2 -Anwendung in https://discord.com/developers/applications
In <Your Application> -> oAuth2 -> Weiterleitet
Fügen Sie <APP_URL>/api/auth/callback -URL zu den Weiterleitungen hinzu
Zum Beispiel: http://localhost:3000/api/auth/callback
Dies ist für die Genehmigung erforderlich
Login -> Discord OAuth -> API Routes -> Client
/api/auth/login )/api/auth/callback Das Discord Access Token kann vom Benutzer abgelaufen oder nicht autorisiert werden
Wir verlangen vom Benutzer, sich erneut anzumelden, nachdem wir 401 Fehler von der Discord -API erhalten haben
Der Aktualisierungstoken wird nicht verwendet, aber Sie können den Autorisierungsfluss anpassen
Überprüfen Sie die SRC/API/Bot.ts. Es definierte eine integrierte API zum Abholen von Daten
Sie können express.js (Node.js), Rocket (Rost) oder Bibliotheken/Sprachen verwenden, um Ihren eigenen Server zu entwickeln
Normalerweise läuft der Server zusammen mit Ihrem Discord Bot (im selben Programm) zusammen mit Ihrem Discord Bot.
Darüber hinaus können Sie Redis verwenden, anstatt sich direkt mit dem Bot -Server zu verbinden
Node.js (TypeScript)
Der Kunde wird sein Zugangstoken über die Authorization bestehen
Bearer MY_TOKEN_1212112
Sie können es für weitere Funktionen erweitern
Get /guilds/{guild}
custom-types.ts > CustomGuildInfo )null , wenn Bot der Gilde nicht beigetreten ist Get /guilds/{guild}/features/{feature}
custom-types.ts > CustomFeatures[K] ) Patch /guilds/{guild}/features/{feature}
config/features ) Post /guilds/{guild}/features/{feature}
/guilds/{guild}/features/{feature}
Get /guilds/{guild}/roles
Get /guilds/{guild}/channels
Fühlen Sie sich frei, eine Frage zu stellen, indem Sie ein Problem eröffnen
Lieben Sie dieses Projekt? Geben Sie diesem Repo einen Stern!