Bots Discord sans coder
Un projet de type bot n'ouvre pas l'éditeur de pages : il ouvre un studio en trois colonnes — les commandes, les événements et les modules à gauche ; la suite d'actions au centre ; les réglages à droite. À la publication, le studio écrit un vrai fichier index.js en discord.js v14.
1. Le jeton
Il se saisit dans Réglages → Connexion du bot. Il ne touche jamais le projet : ni le stockage du navigateur, ni l'export, ni un fichier publié. À la publication, il devient la variable DISCORD_TOKEN chiffrée de ton serveur, et le champ se vide.
Le bot généré lit tout seul le fichier .env écrit par le panel — une quinzaine de lignes sans dépendance, parce que Node ne le fait pas nativement. Renseigner GUILD_ID (facultatif) fait apparaître les commandes immédiatement sur ton serveur ; sans lui, elles sont globales et peuvent mettre jusqu'à une heure.
2. Commandes, événements
Une commande slash a un nom, une description, une permission requise et des options demandées à l'utilisateur (texte, nombre, membre, salon, rôle, oui/non). Une option nommée membre est utilisée par les actions sanctionner et donner un rôle.
Quatre événements : un membre arrive, un membre part, un mot-clé est écrit, un message est supprimé.
3. Les 21 actions
Chacune se lit en une phrase dans le studio et s'écrit en JavaScript à la publication :
- Répondre, en public ou visible de la seule personne.
- Encadré — au choix l'embed classique (v1) ou les Components V2 : conteneur, blocs de texte, galerie, séparateur, envoyé avec
MessageFlags.IsComponentsV2. Ce format interditcontentetembedsdans le même message : le générateur s'en charge. - Message à boutons : jusqu'à cinq, chacun ouvrant un lien, donnant un rôle ou répondant un texte.
- Menu déroulant : une réponse par choix.
- Formulaire : une fenêtre à remplir, les réponses partent dans un salon.
- Lire une API : une adresse JSON, un chemin dans la réponse.
- Rappel différé, compteur persistant, attendre.
- Écrire dans un salon, message privé, réagir, sondage, réponse au hasard.
- Donner ou retirer un rôle, sanctionner (expulser, bannir, exclure), supprimer des messages, mode lent.
- Continuer seulement si (rôle, permission, contenu, auteur) — sinon la suite ne s'exécute pas.
- Journaliser et code personnalisé.
Un formulaire doit être la première action : Discord n'ouvre une fenêtre que si rien n'a encore répondu à l'interaction. La vérification du bot le signale.
4. Les 12 modules
Anti-spam, anti-liens, mots interdits, journal, rôle automatique, tickets, rôles par boutons, niveaux, concours, boîte à suggestions, anti-raid, compteur de membres.
Un module se clique, pas seulement se coche : la pastille l'allume ou l'éteint, le nom l'ouvre — et la colonne du centre affiche sa suite d'actions prédéfinie, dans la même grammaire que les actions d'une commande.
Le bouton Version JavaScript recopie le code du module dans un champ modifiable : à partir de là, c'est le tien qui est publié. On ne part donc jamais d'une page blanche. Revenir à la version standard annule l'éjection.
5. Vérifier avant de publier
Un bot ne se teste pas depuis un navigateur. Le bouton Vérifier le bot (Réglages) remonte ce qui est visible dans le studio : jeton absent, deux commandes du même nom, commande sans action, formulaire mal placé, identifiants de salon ou de rôle laissés vides, module actif mais sans valeur, absence de salon de journal.
Il rappelle aussi les intents à cocher dans le portail développeur Discord (Bot → Privileged Gateway Intents) : Message Content dès qu'on lit des messages, Server Members pour les arrivées et les départs. Sans eux, le bot se connecte mais ne voit rien.
6. Publier
Trois fichiers sont déposés sur le serveur créé : index.js généré, package.json (discord.js ≥ 14.19, nécessaire aux Components V2) et un README.md. Le bouton Code montre le fichier exactement tel qu'il sera publié — c'est aussi la meilleure façon d'apprendre discord.js.
Pour inviter le bot : portail développeur → OAuth2 → URL Generator, coche bot et applications.commands, puis les permissions nécessaires.
