Discord-bots
Discord-bots in Python (discord.py) of Node.js (discord.js): wat in het verzoek hoort, een bot testen in Codexe, looptijdlimieten per abonnement en een veilige token.
Bijgewerkt
Op deze pagina
Codexe genereert complete projecten voor Discord-bots in Python (discord.py) of Node.js (discord.js), met slashcommando's.
#Wat je in het verzoek zet
- Bibliotheek (Python of Node.js).
- Elk slashcommando met zijn opties en wie het mag gebruiken.
- Events waarop gereageerd moet worden (leden die joinen, berichten, reacties).
- Opslag (JSON, SQLite…) en eventuele externe API's.
- Welke intents je wilt inschakelen. Message Content en Server Members zijn privileged en moeten in het Discord Developer Portal worden aangezet.
#De token
Gegenereerde bots lezen de token uit de omgevingsvariabele DISCORD_TOKEN (BOT_TOKEN of TOKEN werken ook). Hij wordt nooit in de broncode geschreven, en er wordt geen .env-bestand gegenereerd. Behandel de token als een wachtwoord: lekt hij uit, reset hem dan in het Discord Developer Portal.
#Een bot testen in Codexe
Botprojecten hebben een paneel Hosten om de bot uit te proberen zonder zelf een server op te zetten. Plak je bottoken (versleuteld opgeslagen, en je kunt hem verwijderen), en gebruik dan Starten, Stoppen, Opnieuw starten en kijk mee in de Console.
Dit is een testomgeving, geen permanente hosting:
| Abonnement | Looptijd per voortschrijdende 24 uur |
|---|---|
| Free | 15 minuten |
| Pro | 4 uur |
| Business | 12 uur |
| Enterprise | 24 uur |
Bij elk abonnement: een sessie stopt na 30 minuten, per account draait één bot tegelijk, en het aantal starts is beperkt. Bots draaien afgeschermd, met internettoegang maar zonder toegang tot de eigen systemen van Codexe.
#Verificatie
Discord-bots worden niet via een build geverifieerd. Klaar betekent dat de generatie is afgerond (zie de levenscyclus van een project). Gebruik de testrun om ze te controleren.
#Zelf draaien
Download de ZIP, installeer de dependencies (pip install -r requirements.txt of npm install), zet DISCORD_TOKEN in je omgeving en start de bot. Nodig de bot uit op je server met de scopes bot en applications.commands.
#Veelvoorkomende problemen
| Symptoom | Waarschijnlijke oorzaak |
|---|---|
| Slashcommando's verschijnen niet | De commando's zijn nog niet gesynchroniseerd. Globale synchronisatie kan tot een uur duren; synchronisatie per server gaat meteen. |
| Bot staat online maar negeert berichten | Een privileged intent staat niet aan in het Developer Portal. |
| "The application did not respond" | Het commando deed er langer dan 3 seconden over zonder uitstel. Vraag de chat om het antwoord uit te stellen (defer). |