Passer au contenu principal

Introduction

Pour développer et héberger un bot Discord sur Square Cloud, il est essentiel de suivre une séquence structurée de configurations et de prérequis. Ce guide technique couvrira l’ensemble du processus, de la configuration initiale au déploiement en production.

Prérequis

  • Compte Square Cloud : Inscrivez-vous via la page d’inscription en utilisant votre adresse e-mail.
  • Plan actif : Garantit des ressources dédiées et des performances optimisées pour votre application. Consultez nos plans disponibles et choisissez celui qui convient le mieux à vos besoins.
Ce guide utilise le runtime Node.js ou le runtime Python.

Créer le projet

Vous avez besoin d’un compte Discord pour créer et gérer des bots. Si vous n’en avez pas, créez-le sur le site officiel de Discord.

Application bot sur Discord

Créer l'application

Accédez au Developer Portal et cliquez sur « New Application ». Définissez un nom pour votre bot et cliquez sur « Create » pour créer l’application.
Création d'une application Discord dans le Developer Portal

Générer le token

Après avoir créé l’application, accédez à l’onglet « Bot » et cliquez sur « Reset Token » pour générer le token d’authentification. Copiez-le : vous le définirez comme variable d’environnement sur Square Cloud, jamais dans votre code.
Génération du token d'authentification du bot Discord

Activer les intents privilégiés

Le bot d’exemple lit le texte des messages : il a donc besoin du Message Content Intent. Restez dans l’onglet « Bot », faites défiler jusqu’à « Privileged Gateway Intents » et activez Message Content Intent. Cet exemple n’a pas besoin des deux autres intents privilégiés (Presence et Server Members).
Activation des privileged gateway intents Discord
Gardez votre token secret : ce token accorde un contrôle total sur le bot. Ne l’écrivez jamais dans votre code et ne le mettez jamais dans votre ZIP : les exemples ci-dessous le lisent depuis la variable d’environnement DISCORD_TOKEN.

Développer le bot

Écrivez le bot avec discord.js (Node.js) ou discord.py (Python) :
  1. Vérifiez que Node.js est installé sur votre système. Sinon, téléchargez-le depuis le site officiel de Node.js.
  2. Initialisez un nouveau projet Node.js :
Terminal
  1. Installez la bibliothèque discord.js :
Terminal
  1. Créez un fichier JavaScript (par exemple, index.js) et ajoutez le code suivant pour créer un bot Discord de base :
index.js
Le code utilise discord.js v14, où l’événement ready est Events.ClientReady ("clientReady"). L’ancien nom "ready" est obsolète.

Configurer Square Cloud

Créez un fichier squarecloud.app à la racine de votre projet, à côté de votre fichier principal. Il indique à Square Cloud comment exécuter votre bot :
  • MAIN est le fichier que Square Cloud exécute, et MEMORY la RAM du bot en Mo. Les bots ont besoin d’au moins 256 Mo ; 512 Mo laissent de la marge pour évoluer.
  • AUTORESTART=true redémarre le bot s’il plante. Consultez le fonctionnement du redémarrage automatique.
  • Il n’y a pas de SUBDOMAIN : un bot ne sert pas de pages web.
Lorsque vous envoyez depuis le tableau de bord, le formulaire d’envoi peut remplir ces paramètres pour vous. Consultez la référence du fichier de configuration pour tous les champs.

Définir le token du bot

Votre code lit le token depuis la variable d’environnement DISCORD_TOKEN : le token n’entre donc jamais dans vos fichiers. Définissez-le de l’une de ces façons :
  • Tableau de bord : sur la page d’envoi, ouvrez Configuration avancée et ajoutez une variable nommée DISCORD_TOKEN avec votre token comme valeur. Pour un bot déjà déployé, ajoutez-la sur la page Variables d’environnement de l’application et redémarrez le bot.
  • CLI : juste après avoir envoyé le bot (voir Déployer et vérifier), définissez-la avec squarecloud app env set et redémarrez le bot :
Le bot lit ses variables d’environnement au démarrage : redémarrez-le donc après chaque modification. Consultez Variables d’environnement pour les autres façons de les gérer.
Pour exécuter d’abord le bot sur votre ordinateur, définissez la variable dans votre terminal : export DISCORD_TOKEN=your_token_here sous macOS et Linux, ou $env:DISCORD_TOKEN="your_token_here" dans PowerShell.

Contenu du ZIP

  • Votre fichier principal (index.js ou main.py) et vos autres fichiers source.
  • package.json ou requirements.txt.
  • squarecloud.app.
Excluez node_modules, .venv et __pycache__ : Square Cloud installe vos dépendances au démarrage du bot.

Déployer et vérifier

Créez le ZIP décrit ci-dessus, puis envoyez-le :

Via le tableau de bord

1

Accéder à la page d'upload

Accédez à la page d’upload et téléversez le fichier zip de votre projet.
2

Configurer votre environnement

Après avoir téléversé votre zip, vous devrez configurer le nom, le fichier principal ou l’environnement d’exécution ainsi que d’autres paramètres de votre projet.
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
3

Déployer votre projet

Enfin, cliquez sur le bouton « Deploy » pour héberger votre projet sur Square Cloud.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.
Téléversement d'une application vers Square Cloud
4

Confirmez que votre application est en ligne

Votre premier déploiement prend généralement moins d’une minute. Dans le tableau de bord, attendez que le statut de votre application affiche « en cours d’exécution » et vérifiez les logs pour détecter d’éventuelles erreurs de démarrage.
Si vous avez déployé un site web ou une API, ouvrez https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Votre application ne démarre pas ? Consultez le guide de dépannage pour les causes les plus courantes et leurs solutions.

Via la CLI

Pour utiliser cette méthode, votre projet a besoin d’un fichier de configuration nommé squarecloud.app à sa racine. Il indique à Square Cloud comment exécuter votre application.

Guide du fichier de configuration

Apprenez comment créer le fichier de configuration squarecloud.app qui définit l’environnement de votre application.
1

Installer la CLI

Installez la CLI Square Cloud. Si vous l’avez déjà, exécutez la même commande pour la mettre à jour :
2

Se connecter

Exécutez la commande ci-dessous. Elle ouvre votre navigateur : approuvez-y la connexion et la CLI est prête. Il n’y a aucune clé API à copier. Pour les scripts et la CI, consultez Authentification de la CLI.
3

Téléverser votre projet

Depuis le dossier de votre projet, exécutez la commande ci-dessous. La CLI compresse le dossier courant en zip, sans ce que liste squarecloud.ignore, puis l’envoie :
Pour téléverser un zip que vous avez créé vous-même, passez-le avec --file :
4

Confirmez que votre application est en ligne

Votre premier déploiement prend généralement moins d’une minute. Vérifiez le statut et les logs de votre application directement depuis le terminal :
Si vous avez déployé un site web ou une API, ouvrez https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Votre application ne démarre pas ? Consultez le guide de dépannage pour les causes les plus courantes et leurs solutions.

Inviter le bot sur votre serveur

Pour envoyer une commande au bot, ajoutez-le à un serveur Discord :
  1. Accédez au Developer Portal et sélectionnez votre bot.
  2. Accédez à l’onglet « OAuth2 » puis à « OAuth2 URL Generator ».
  3. Sous « Scopes », cochez l’option « bot ».
  4. Sous « Bot Permissions », cochez uniquement ce dont l’exemple a besoin : View Channels, Send Messages et Read Message History. Évitez Administrator : les bots en ont rarement besoin, et un token divulgué contrôlerait alors tout votre serveur.
  5. Copiez l’URL générée, ouvrez-la dans votre navigateur et ajoutez le bot à votre serveur. L’URL ressemble à ceci :
68608 est la somme de ces trois permissions. Remplacez YOUR_CLIENT_ID par l’ID de votre application, affiché dans l’onglet « General Information ». Si vous ajoutez des commandes qui nécessitent plus de permissions, générez une nouvelle URL en les cochant. Envoyez ensuite !hello dans un salon que le bot peut voir. Il répond Hello!.
Test du bot Discord après le déploiement

Erreurs courantes

An invalid token was provided

Les logs affichent Error [TokenInvalid]: An invalid token was provided. (discord.js) ou discord.errors.LoginFailure: Improper token has been passed. (discord.py). La variable DISCORD_TOKEN est absente ou contient un ancien token. Copiez le token actuel depuis l’onglet « Bot », définissez-le à nouveau et redémarrez le bot. Avec discord.py, un KeyError: 'DISCORD_TOKEN' signifie que la variable n’est pas définie du tout.

Used disallowed intents

Les logs affichent Error [DisallowedIntents]: Privileged intent provided is not enabled or whitelisted. (discord.js) ou discord.errors.PrivilegedIntentsRequired (discord.py). Le code demande le Message Content Intent, mais il est désactivé dans le Developer Portal. Activez-le dans l’onglet « Bot », comme dans Application bot sur Discord, puis redémarrez le bot.

Le bot est en ligne mais ne répond pas à !hello

Vérifiez que le bot peut voir et envoyer des messages dans ce salon, et que le Message Content Intent est activé : sans lui, le bot reçoit des messages au texte vide. Pour d’autres messages et leurs solutions, consultez Erreurs de bot Discord.

Prochaines étapes

Erreurs de bot Discord

Corrigez un token invalide, des intents manquants et d’autres erreurs courantes.

Variables d'environnement

Gérez le token de votre bot et vos autres secrets.

Serveur Lavalink

Hébergez un serveur Lavalink pour diffuser de la musique dans votre bot.
Pour en savoir plus sur ces bibliothèques, consultez la documentation officielle de discord.py et le guide officiel de discord.js.

Contactez-nous

Si vous rencontrez toujours des difficultés techniques, notre équipe de support spécialisée est disponible pour vous aider. Contactez-nous et nous serons ravis de vous aider à résoudre tout problème. La qualité du support compte pour beaucoup dans la note que les développeurs donnent à Square Cloud, 4,9/5 sur 402 avis sur Google et Trustpilot.