Skip to content

Template d'un mini bot discord avec le plugin discord.js

License

Notifications You must be signed in to change notification settings

Laatem/bot-discord-template

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OUTDATED

Ce projet est un template pour la création d'un mini bot sur discord avec le plugin discord.js

Préparation

Avant toute chose il vous faut un éditeur de texte, je vous conseille VScode, mais vous pouvez bien évidemment en utiliser un autre tel que Sublime Texte, IntelliJ IDEA, WebStorm, Atom...

Une fois votre editeur de texte prêt, il faut NodeJS, je vous recommande la version LTS.

Il vous faut créer votre bot via le portail Discord Developper. Il faut créer une application, se rendre dans l'onglet "Bot", ajouter un bot. Le nom et l'image importe peu.

Il faut maintenant se rendre dans l'onglet OAuth2, cocher la case "bot" et se rendre sur le lien qui a été générer. Vous pouvez désormais ajouter le bot sur un serveur où vous êtes admin.

Installation

Une fois votre IDE et NodeJS prêt, il faut installer les dépendances qui sont liés au projet, c'est-à-dire les plugins nécessaire à son fonctionnement. Elles sont stockées dans le fichier package.json et sont les suivantes :

  "dependencies": {
    "discord.js": "^12.3.1",
    "dotenv": "^8.2.0"
  }

Pour pouvoir installer ces dépendances, lancer le logiciel Node.Js Command Prompt, il faut parcourir les dossiers de votre ordinateur pour atteindre l'emplacement du dossier template.

cd Desktop/discord-bot-template

Lorsque vous êtes dans le dossier du template, il est temps d'installer les dépendances discord.js et dotenv

npm i discord.js
npm i dotenv

Ou tout simplement sans préciser les dépendances puisqu'elles sont existantes dans le config.json

npm i

Configuration

Il est important ce créer à la racine du projet un fichier en le nommant .env qui contient le token de votre bot et le prefix que vous souhaitez utiliser.

Le token est récupérable dans le panel de votre bot.

TOKEN=...
PREFIX=!!!

Si vous souhaitez créer une nouvelle commande, il faut créer un fichier nomcommande.jsdans le dossier commands et modifier le fichier index.jsdans le même dossier pour ajouter la commandes à la collection.

L'exemple suivant avec une commande qui permet d'envoyer un message privé à l'utilisateur :

fichier mpmoi.js

const PREFIX = process.env.PREFIX;
module.exports = {
    name: `${PREFIX}mpmoi`,
    description: "Ceci est une commande exemple qui mp l'utilisateur",
    execute(msg, args) {
        msg.author.send("Je suis un bot très performant, je sais mp les utilisateurs !");
    }
}

fichier commands/index.js

module.exports = {
    Exemple: require('./exemple'),
    Mpmoi: require('./mpmoi'),
}

Utilisation

Pour démarrer le bot, il faut être dans le répertoire du projet avec le logiciel Node.Js Command Prompt ou avec VSCode ouvrir un nouveau terminal et saisir la commande

node .

Cette commande, si le bot est correctement configurer devrait donner comme resultat

Connexion réussie avec NomDuBot#TagDuBot!

Vous aurez dans ce terminal le reporting de tous les évènements qui seront rencontrés par le bot, qui sont définis dans le fichier index.js

  • ready
  • error
  • reconnecting
  • disconnect
  • message

Pour éteindre le bot il faut faire le raccourci clavier CTRL+C dans le terminal

Documentation

Discord.js - Plugin qui permet d'utiliser l'API Discord

Node.JS - Plateforme logicielle libre en JS orientée vers les applications réseau événementielles

dotenv - Environnement séparé du code et basé sur la méthode de l'application Twelve-factors

VSCode - IDE

Credits

@ThomSmart

License

Copyright (c) 2020 ThomSmart

MIT

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.