En bref : déposez votre index.js (discord.js) ou votre bot.py (discord.py) à la racine du serveur, avec un package.json ou un requirements.txt et un fichier .env contenant votre token, puis cliquez sur Start dans la console du panel. Les dépendances s'installent toutes seules au démarrage.
1. Activez votre bot gratuit
- Créez un compte sur hostlio.fr, puis liez votre compte Discord dans les paramètres de votre espace client.
- Rejoignez le serveur Discord de Hostlio.
- Commandez l'offre Starter (gratuite).
- Tapez /code sur le serveur Discord : vous recevez un code en message privé, valable 15 minutes. Saisissez-le dans votre espace client, sur la page de votre service.
Votre serveur est créé dans la foulée. Restez sur le serveur Discord : si vous le quittez, votre bot est suspendu, puis réactivé automatiquement quand vous revenez.
2. Connectez-vous au panel
Le panel de gestion se trouve sur panel.hostlio.fr.
- Identifiant : l'adresse email de votre compte Hostlio.
- Mot de passe : celui reçu par email dans le message « Vos accès au panel Hostlio ».
Pas reçu, ou perdu ? Dans votre espace client, ouvrez votre service et cliquez sur « Recevoir un nouveau mot de passe du panel ». Le nouveau mot de passe s'affiche immédiatement.
3. Préparez vos fichiers
Bot discord.js (Node.js 18)
Trois fichiers, à la racine :
index.js
package.json
.env
Le fichier principal doit s'appeler index.js. Exemple de package.json :
{
"name": "mon-bot",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"discord.js": "^14.16.3",
"dotenv": "^16.4.5"
}
}
Exemple minimal de index.js :
require("dotenv").config();
const { Client, Events, GatewayIntentBits } = require("discord.js");
const client = new Client({ intents: [GatewayIntentBits.Guilds] });
client.once(Events.ClientReady, () => {
console.log(`Connecté en tant que ${client.user.tag}`);
});
client.login(process.env.DISCORD_TOKEN);
Bot discord.py (Python 3.11)
Trois fichiers, à la racine :
bot.py
requirements.txt
.env
Le fichier principal doit s'appeler bot.py. Exemple de requirements.txt :
discord.py
python-dotenv
Exemple minimal de bot.py :
import os
import discord
from dotenv import load_dotenv
load_dotenv()
client = discord.Client(intents=discord.Intents.default())
@client.event
async def on_ready():
print(f"Connecté en tant que {client.user}")
client.run(os.environ["DISCORD_TOKEN"])
Le fichier .env (les deux langages)
DISCORD_TOKEN=collez_ici_le_token_de_votre_bot
Le token se trouve dans le portail développeur Discord, onglet Bot, bouton Reset Token. Ne le publiez jamais, ni sur GitHub ni sur un serveur Discord.
4. Envoyez vos fichiers
Depuis le navigateur : dans le panel, ouvrez l'onglet Files, puis glissez-déposez vos fichiers ou utilisez Upload. Vous pouvez aussi créer un fichier directement avec New File.
En SFTP (FileZilla, WinSCP…) :
- Adresse :
node1.hostlio.fr, port2022 - Identifiant : affiché dans l'onglet Settings du panel, au format
utilisateur.xxxxxxxx - Mot de passe : celui du panel
Deux pièges fréquents :
- Les fichiers doivent être à la racine, pas dans un sous-dossier. Si vous envoyez une archive .zip, décompressez-la avec Unarchive, puis déplacez les fichiers à la racine.
- N'envoyez pas le dossier
node_modulesni un environnement virtuel Python : les dépendances sont installées sur le serveur.
5. Démarrez votre bot
Ouvrez l'onglet Console et cliquez sur Start. Le serveur installe d'abord vos dépendances (npm install ou pip install), ce qui peut prendre une minute au premier démarrage, puis lance votre bot. Quand la console affiche « Connecté en tant que… », votre bot est en ligne. En cas de plantage, il est redémarré automatiquement.
Erreurs fréquentes
Cannot find module '/home/container/index.js' : votre fichier principal ne s'appelle pas index.js, ou il est dans un sous-dossier. Renommez-le ou déplacez-le à la racine.
Cannot find module 'discord.js' ou ModuleNotFoundError: No module named 'discord' : le package.json ou le requirements.txt est absent, mal nommé, ou ne contient pas la bibliothèque.
TokenInvalid ou LoginFailure: Improper token has been passed : le token est faux ou a été régénéré. Copiez le nouveau token dans votre .env, puis redémarrez.
Used disallowed intents ou PrivilegedIntentsRequired : votre bot demande des intents privilégiés (contenu des messages, membres, présences). Activez-les dans le portail développeur Discord, onglet Bot, section Privileged Gateway Intents.
Cannot use import statement outside a module : votre code utilise import au lieu de require. Ajoutez "type": "module" dans votre package.json.
Le bot s'arrête sans message d'erreur clair : il dépasse probablement la mémoire de son offre (256 Mo pour l'offre gratuite). Allégez-le, ou passez à une offre supérieure depuis votre espace client, sans perdre vos fichiers.
Besoin d'aide ?
Posez votre question sur le serveur Discord de Hostlio ou ouvrez un ticket depuis votre espace client, en copiant le message d'erreur affiché dans la console.