Zo zet je een bot in Python met discord.py dag en nacht online. discord.py werkt met Python 3.8 en nieuwer. Je server moet daarvoor op Python draaien: onder Startup zie je dan het veld APP PY FILE. Zie je daar MAIN FILE? Dan draait je server op Node.js: vraag ons via support om hem om te zetten. Schrijf je in JavaScript? Lees dan de handleiding voor Node.js.
1. Je bot aanmaken in Discord
- Ga naar het Discord Developer Portal, klik op New Application, kies een naam en klik op Create.
- Open Bot, klik op Reset Token en kopieer de token. Discord laat hem maar één keer zien.
- Zet onder Privileged Gateway Intents de intents aan die je bot gebruikt, zie hieronder.
- Open OAuth2, ga naar de OAuth2 URL Generator en vink
botenapplications.commandsaan. Kies onder Bot Permissions wat je bot mag, liever niet Administrator. - Open de link onderaan, kies je Discord-server en klik op Authorize.
De token is het wachtwoord van je bot: deel hem met niemand, ook niet met ons.
2. Intents aanzetten
Een privileged intent moet aan staan in het Developer Portal en in je code. Staat hij in het portal uit, dan start je bot niet.
intents.message_content = Truehoort bij de Message Content Intent. Die heb je nodig om berichten te lezen, zoals commando's met!.intents.members = Truehoort bij de Server Members Intent, voor joins, leaves en de ledenlijst.intents.presences = Truehoort bij de Presence Intent, voor online-statussen.
3. Je bestanden klaarzetten
In requirements.txt zet je de packages die je bot nodig heeft, één per regel:
discord.py
python-dotenv
Een eenvoudige bot.py:
import os
import discord
from dotenv import load_dotenv
load_dotenv()
intents = discord.Intents.default()
intents.message_content = True
client = discord.Client(intents=intents)
@client.event
async def on_ready():
print(f"Logged in as {client.user}")
client.run(os.getenv("DISCORD_TOKEN"))
In .env staat één regel: DISCORD_TOKEN= met je token erachter. Deel dat bestand nooit: zo bewaar je je token veilig. Noem je bestand nooit discord.py, anders laadt Python je eigen bestand in plaats van de library.
4. Uploaden en Startup instellen
- Upload je
.py-bestanden,requirements.txten.envvia Files of SFTP. Laat mappen alsvenven__pycache__weg. - Vul onder Startup bij APP PY FILE je hoofdbestand in, zoals
bot.py. - Laat REQUIREMENTS FILE op
requirements.txtstaan: daarmee installeert de server bij elke start je packages. Losse packages mogen ook in ADDITIONAL PYTHON PACKAGES, met spaties ertussen. - Kun je bij Docker Image een Python-versie kiezen? Neem dan de nieuwste.
5. Starten en fouten oplossen
Klik op Start en open Console. Zie je Logged in as met de naam van je bot? Dan is hij online.
PrivilegedIntentsRequired: zet de intent die je code vraagt aan in het Developer Portal.Improper token has been passed.: de token klopt niet. Maak een nieuwe met Reset Token.received NoneType instead: je bot vindt.envof de naamDISCORD_TOKENniet.No module named 'discord': je packages zijn niet geïnstalleerd. Staatrequirements.txtin de hoofdmap, en heet hij niet per ongelukrequirements.txt.txt?No module named 'audioop': je discord.py is te oud voor Python 3.13 of nieuwer. Zetdiscord.py>=2.5inrequirements.txt.
Bijwerken
Upload je gewijzigde bestanden en klik op Restart. Nieuwe packages zet je eerst in requirements.txt, dan installeert de server ze bij de herstart. Crasht je bot, dan start het paneel hem opnieuw, behalve bij een tweede crash binnen een minuut. Lees dan de fout in de console. Elke nacht herstarten? Gebruik Schedules.

