Bots 4 min de lectura

Héberger un bot Discord en Python (discord.py) 24/7

Mettre en ligne un bot Discord écrit en Python avec discord.py : requirements.txt, token dans un .env, intents, envoi des fichiers, version de Python et redémarrage automatique.

Por Équipe Artaun

Pour héberger un bot Discord en Python 24 h/24, il faut un serveur qui exécute votre script en continu avec la bonne version de Python, installe les bibliothèques listées dans requirements.txt et lit le token dans une variable d'environnement. Chez un hébergeur de bots, vous envoyez vos fichiers, indiquez le script à lancer (bot.py ou main.py), et c'est en ligne.

1. Préparer le projet

mon-bot/
  bot.py
  requirements.txt
  cogs/
  .env        (jamais publié)

requirements.txt contient une bibliothèque par ligne :

discord.py
python-dotenv

Pour figer les versions qui marchent chez vous : pip freeze > requirements.txt depuis votre environnement virtuel (puis retirez les lignes inutiles).

2. Le token hors du code

# bot.py
import os
import discord
from discord.ext import commands
from dotenv import load_dotenv

load_dotenv()
intents = discord.Intents.default()
intents.message_content = True

bot = commands.Bot(command_prefix="!", intents=intents)

@bot.event
async def on_ready():
    print(f"Connecté en tant que {bot.user}")

bot.run(os.getenv("DISCORD_TOKEN"))

Dans .env : DISCORD_TOKEN=votre_token. Activez l'intent Message Content dans le portail développeur Discord (onglet Bot) si votre bot lit les messages, sinon il refuse de démarrer.

3. Mettre le bot en ligne chez Artaun

  1. Commandez un bot Discord ; l'offre Micro s'essaie 3 jours sans carte bancaire.
  2. À la configuration, choisissez Python, sa version, et le fichier à lancer (bot.py).
  3. Envoyez votre projet dans Fichiers. N'envoyez pas votre dossier venv ni __pycache__.
  4. Dans Mon bot, carte Fichier de démarrage : bot.py.
  5. Carte Paquets (dépendances) : tapez discord.py et les autres bibliothèques si votre requirements.txt ne suffit pas.
  6. Carte Variables secrètes (.env) : ajoutez DISCORD_TOKEN.
  7. Démarrer, puis vérifiez dans la Console le message Connecté en tant que ….

4. Les erreurs classiques

  • ModuleNotFoundError : une bibliothèque manque. Ajoutez-la dans Paquets ou dans requirements.txt, puis redémarrez.
  • discord.errors.PrivilegedIntentsRequired : activez l'intent demandé dans le portail développeur.
  • LoginFailure: Improper token : token faux ou régénéré. Mettez à jour le .env.
  • Le bot démarre puis s'arrête sans erreur : votre script se termine (pas de bot.run final, ou une exception dans setup_hook). Lisez les dernières lignes de la console.

Le diagnostic de Plus d'options › Outils du jeu › Analyser reconnaît la plupart de ces erreurs.

5. Le garder en ligne

  • Ajoutez Démarrage automatique dans Plus d'options › Tâches automatiques.
  • Évitez les fonctions bloquantes (time.sleep, requêtes HTTP synchrones avec requests) dans les événements : elles figent tout le bot. Utilisez asyncio.sleep et aiohttp.
  • Journalisez les erreurs avec le module logging pour les retrouver dans la console.

6. Données et base

Pour un petit bot, un fichier SQLite dans le dossier du bot suffit. Au-delà, créez une base MySQL dans Plus d'options › Bases de données et connectez-vous avec aiomysql ou asyncmy. Pensez aux sauvegardes (page Sauvegardes) : vos données sont sous votre responsabilité.

Questions fréquentes

discord.py ou une autre bibliothèque ? discord.py est la plus utilisée et maintenue. Des alternatives existent (py-cord, nextcord, disnake) ; la méthode d'hébergement est identique.

Combien de mémoire pour un bot Python ? Un bot simple tient dans 256 à 512 Mo ; prévoyez 1 Go et plus si vous chargez des modèles, des images ou beaucoup de serveurs.

Puis-je héberger plusieurs bots ? Un service par bot est le plus simple à gérer : chacun a sa console, ses redémarrages et son .env.

Votre bot mérite mieux qu'un PC allumé la nuit : hébergement de bot Discord, dès 0,99 € par mois. Version Node.js : héberger un bot discord.js 24/7.

¿Listo para empezar?

Todas nuestras ofertas son sin permanencia, se entregan en minutos y están alojadas en Francia.