Aller au contenu principal

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 DockerLangageCas d'usage
Node.js 18JavaScript / TypeScriptdiscord.js, eris
Node.js 21JavaScript / TypeScriptdiscord.js (version récente)
Node.js 22JavaScript / TypeScriptdiscord.js (dernière LTS)
Node.js 24JavaScript / TypeScriptdiscord.js (latest)
Python 3.12Pythondiscord.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 :

  1. Laissez la variable Adresse du repo Git vide
  2. Accédez au gestionnaire de fichiers sur le Panel YorkHost
  3. Uploadez vos fichiers (glisser-déposer ou bouton "Upload")
  4. 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.

LangageExemples courants
Node.jsindex.js, bot.js, src/index.js
TypeScriptindex.ts, bot.ts
Pythonmain.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
info

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'))
Sécurité

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 :

  1. Git pull — Si un dépôt Git est configuré, les dernières modifications sont récupérées
  2. Installation des dépendances :
    • Node.js → npm install (depuis package.json) + packages supplémentaires
    • Python → pip install (depuis requirements.txt) + packages supplémentaires
  3. 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_FILE correspond-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.

astuce

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.jsNode.js minimum
v14Node.js 16.11+
v15Node.js 18+

7. Bonnes pratiques

  • Utilisez un fichier .env pour stocker vos tokens et clés API, jamais en dur dans le code
  • Utilisez package.json ou requirements.txt pour 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