Héberger un Bot Discord
Bienvenue sur YorkHost ! Ce guide vous accompagne pas à pas pour déployer votre bot Discord sur notre infrastructure haute performance, que ce soit en Node.js ou en Python. Grâce à notre panel intuitif et nos serveurs optimisés, votre bot sera en ligne en quelques minutes.
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un bot Discord créé sur le Portail Développeur Discord
- Le token de votre bot (disponible dans l'onglet "Bot" de votre application)
- Votre code source, soit sur un dépôt Git (GitHub, GitLab…), soit prêt à être uploadé manuellement
- Une offre Bot Discord active sur YorkHost — nos offres incluent un panel de gestion complet, une protection anti-DDoS et un support réactif
1. Choisir son langage
Le langage est détecté automatiquement selon l'image Docker que vous sélectionnez dans les paramètres de votre serveur. Vous n'avez rien à configurer manuellement — YorkHost s'occupe de tout.
| Image Docker | Langage | Cas d'usage |
|---|---|---|
| Node.js 18 | JavaScript / TypeScript | discord.js, eris |
| Node.js 21 | JavaScript / TypeScript | discord.js (version récente) |
| Node.js 22 | JavaScript / TypeScript | discord.js (dernière LTS) |
| Node.js 24 | JavaScript / TypeScript | discord.js (latest) |
| Python 3.12 | Python | discord.py, nextcord, pycord |
Pour changer de langage, il suffit de modifier l'image Docker dans les paramètres de votre serveur sur le Panel YorkHost, puis de réinstaller le serveur.
2. Déployer son bot
Vous avez deux méthodes pour mettre votre code sur le serveur.
Méthode 1 : Via un dépôt Git (recommandé)
C'est la méthode la plus simple. Renseignez l'URL de votre dépôt dans la variable Adresse du repo Git :
https://github.com/votre-nom/votre-bot
Le serveur clonera automatiquement votre dépôt à l'installation. À chaque redémarrage, un git pull est effectué pour récupérer les dernières modifications.
Dépôt privé ? Renseignez également votre nom d'utilisateur Git et un Token d'accès personnel dans les variables correspondantes.
Branche spécifique ? Indiquez-la dans la variable Branche Git (ex: main, dev, production). Laissez vide pour la branche par défaut.
Méthode 2 : Upload manuel
Si vous n'utilisez pas Git :
- Laissez la variable Adresse du repo Git vide
- Accédez au gestionnaire de fichiers sur le Panel YorkHost
- Uploadez vos fichiers (glisser-déposer ou bouton "Upload")
- Démarrez votre serveur
3. Configurer les variables
Rendez-vous dans l'onglet Startup de votre serveur sur le Panel YorkHost pour modifier les variables.
Fichier principal
La variable Fichier principal (MAIN_FILE) indique quel fichier lancer au démarrage.
| Langage | Exemples courants |
|---|---|
| Node.js | index.js, bot.js, src/index.js |
| TypeScript | index.ts, bot.ts |
| Python | main.py, bot.py, src/bot.py |
Par défaut : index.js. Modifiez-la selon votre projet.
Packages supplémentaires
La variable Packages supplémentaires (PACKAGES) permet d'installer des dépendances au démarrage, séparées par des espaces. Le gestionnaire de packages utilisé (npm ou pip) est détecté automatiquement.
Exemples Node.js :
discord.js dotenv mongoose express
Exemples Python :
discord.py python-dotenv aiohttp requests
Si votre projet contient un package.json (Node.js) ou un requirements.txt (Python), les dépendances qui y sont listées sont installées automatiquement à chaque démarrage. La variable Packages est surtout utile pour ajouter des dépendances ponctuelles sans modifier ces fichiers.
4. Gérer son token Discord
Le token de votre bot ne se configure pas dans les variables du serveur. Il doit être dans votre code, idéalement via un fichier .env à la racine de votre projet.
Créer un fichier .env
Via le gestionnaire de fichiers du Panel YorkHost, créez un fichier .env contenant :
DISCORD_TOKEN=votre_token_ici
Lire le token dans votre code
Node.js (avec le package dotenv) :
require('dotenv').config();
client.login(process.env.DISCORD_TOKEN);
Python (avec le package python-dotenv) :
from dotenv import load_dotenv
import os
load_dotenv()
client.run(os.getenv('DISCORD_TOKEN'))
Ne commitez jamais votre fichier .env sur Git. Ajoutez-le à votre .gitignore.
5. Comprendre le cycle de démarrage
Voici ce qui se passe à chaque fois que vous démarrez votre serveur sur YorkHost :
- Git pull — Si un dépôt Git est configuré, les dernières modifications sont récupérées
- Installation des dépendances :
- Node.js →
npm install(depuispackage.json) + packages supplémentaires - Python →
pip install(depuisrequirements.txt) + packages supplémentaires
- Node.js →
- Lancement du bot — Exécution du fichier principal
Ce processus est entièrement automatique. Vous n'avez qu'à pousser vos modifications sur Git et redémarrer depuis le Panel.
6. Dépannage
Mon bot ne démarre pas
- Vérifiez le fichier principal : le nom dans la variable
MAIN_FILEcorrespond-il bien à votre fichier ? - Vérifiez la console : les erreurs s'affichent dans la console du Panel YorkHost
- Vérifiez l'image Docker : vous êtes bien sur une image Node.js pour du JavaScript, ou Python pour du Python ?
Erreur "Cannot find module"
Votre dépendance n'est pas installée. Ajoutez-la dans la variable Packages ou dans votre package.json / requirements.txt, puis redémarrez.
Erreur "TOKEN_INVALID"
Votre token Discord est invalide ou expiré. Régénérez-le sur le Portail Développeur Discord et mettez à jour votre fichier .env.
Mon bot se déconnecte après quelques heures
Vérifiez que votre code gère correctement la reconnexion. Avec discord.js, c'est géré automatiquement. Avec discord.py, assurez-vous de ne pas utiliser client.close() involontairement.
Sur YorkHost, le redémarrage automatique est activé par défaut. Si votre bot crash, il sera relancé automatiquement.
Le git pull écrase mes modifications
Si vous modifiez des fichiers directement sur le Panel alors qu'un dépôt Git est configuré, le git pull automatique au redémarrage peut écraser vos changements. Deux solutions :
- Faites vos modifications sur Git, pas sur le Panel
- Retirez l'adresse Git de la variable pour passer en mode upload manuel
TypeError: Cannot read properties of undefined
En Node.js, cela signifie souvent que vous utilisez une version de discord.js incompatible avec votre version de Node.js. Vérifiez la compatibilité :
| discord.js | Node.js minimum |
|---|---|
| v14 | Node.js 16.11+ |
| v15 | Node.js 18+ |
7. Bonnes pratiques
- Utilisez un fichier
.envpour stocker vos tokens et clés API, jamais en dur dans le code - Utilisez
package.jsonourequirements.txtpour lister vos dépendances plutôt que la variable Packages - Activez les Intents nécessaires sur le Portail Développeur Discord (Message Content, Server Members, etc.)
- Gérez les erreurs dans votre code pour éviter que le bot crash sur une exception non gérée
- Testez en local avant de déployer sur le serveur
Pourquoi choisir YorkHost pour votre bot Discord ?
- Infrastructure française : serveurs hébergés en France pour une latence minimale
- Protection anti-DDoS : votre bot est protégé contre les attaques
- Panel intuitif : gestion simplifiée via notre panel web avec console, gestionnaire de fichiers et SFTP
- Support réactif : notre équipe est disponible pour vous aider via tickets et Discord
- Déploiement automatique : intégration Git native pour des mises à jour en un clic
Découvrir nos offres Bot Discord
Besoin d'aide ?
Si vous rencontrez un problème non couvert par ce guide, contactez notre support :
- Tickets : depuis votre espace client
- Discord : rejoignez notre serveur pour de l'aide communautaire