Comment créer une discorde de bot avec NodeJS

Voulez-vous mettre à niveau votre serveur Discord? Vous ne trouvez pas le robot parfait pour faire ce que vous voulez? Vous envisagez donc de créer le vôtre? Pouvez-vous gérer Javascript?

Alors cet article de blog est pour vous! J’ai développé des dizaines de bots au cours de ma carrière et je vais tout vous dire.

Pour créer un bot Discord à l’aide de Node JS, vous devez d’abord avoir Node.js installé sur votre ordinateur et un compte Discord. Ensuite, vous devez utiliser la bibliothèque discord.js pour développer votre bot en Javascript. Enfin, vous devez le configurer dans le portail des développeurs Discord.

Nous allons vous rassembler:

  • Quelle est la bibliothèque js essentielle à utiliser
  • Comment créer un chatbot Discord avec Node JS
  • Comment héberger votre bot gratuitement ou non

Avertissement! Avant de commencer, le bot ultime que vous recherchez peut déjà exister. Ou peut-être qu’une base de robots existe déjà sur GitHub. N’oubliez pas de ne pas perdre de temps Lire mon article de blog sur les bots Discord.

Un didacticiel simple sur le bot Discord Node JS

Créer une application Discord n’est pas très compliqué. Dans ce didacticiel, nous utiliserons JavaScript et les exemples de bases de données de robots disponibles sur le site officiel des développeurs Discord.

Depuis que je vous ai donné la base de code, tout ce que vous avez à faire est de la rendre plus complexe en utilisant des conditions et d’autres structures de contrôle. Avec ces connaissances de base en codage, vous devriez pouvoir faire à peu près n’importe quoi avec votre bot Discord.

Si vous n’avez pas compris le paragraphe ci-dessus car vous n’avez pas les connaissances de base du code, je vous invite à apprendre les bases de JavaScript sur FreeCodeCamp ou le tutoriel Apprenez à coder avec Javascript dans OpenClassroom si vous ne parlez pas anglais.

Pourquoi Discord.js?

Il est possible de créer des bots Discord dans plusieurs langages de programmation. Que ce soit en Rust, Swift, Python, Ruby, PHP, Java ou plus, les développeurs de Discord recommandent un ensemble de bibliothèques pour interagir avec leur API Une simple recherche Google ou Github peut trouver des API qui sont moins reconnues par l’équipe Discord dans votre langage de programmation préféré.

Programmation d’un bot Discord v12 en Javascript avec Node JS

Pour ce tutoriel, j’ai sélectionné JavaScript La simplicité et son universalité. JS a repris de nombreux domaines de programmation ces dernières années. L’application de chat Discord elle-même est codée en JavaScript avec React, Electron et React-Native, tous issus de bibliothèques JS.

Mon blog se concentre principalement sur le fait de Utilisez le code pour atteindre ses objectifs Donc, en utilisant les mêmes technologies, il est tout à fait naturel que nous utilisions la bibliothèque Discord.js v12 pour ce premier tutoriel sur l’utilisation des applications Discord.



Utilisation de Node JS avec discord.js

Node vous permet d’exécuter JavaScript comme un programme sur un ordinateur, un téléphone ou un serveur. Il s’installe sur votre ordinateur ou via la ligne de commande comme un programme classique.

Installez Node JS sur Windows

Rendez-vous planifié la page de téléchargement NodeJS Windows et choisissez la version LTS pour Windows. Au moment où vous passez par le processus de configuration, vous devriez avoir tout ce dont vous avez besoin pour programmer votre bot.

NodeJS pour Mac et Linux

Pour Mac et Linux, vous pouvez soit télécharger l’interface graphique pour installer Node comme pour Windows en allant sur la page de téléchargement pour Mac OSX ou Linux depuis NodeJS.

Si vous préférez passer par la console ou travailler sous Linux, vous pouvez utiliser votre gestionnaire de paquets préféré comme brew, apt, yum, dpkg, rpm, pacman ou un autre.

Programme d’installation Discord.js

Utilisez Visual Studio Code ou PowerShell sous Windows ou votre terminal préféré sur Mac et Linux pour accéder au dossier dans lequel vous souhaitez créer votre bot Discord. Il s’agit d’un dossier dans lequel se trouvent les fichiers JavaScript et la configuration de votre bot. Vous pouvez le mettre n’importe où tant qu’il s’agit d’un nouveau dossier vide à garder organisé.

Une fois que nous sommes dans le dossier, nous initialisons le projet avec npm avec la commande suivante:

Répondez oui à toutes les questions ou remplissez les informations que vous souhaitez.

Si tout s’est bien passé, vous disposez désormais d’un dossier fermé contenant l’environnement de votre projet.

Maintenant, installons Discord.js v12 avec la commande suivante:

Ou si vous préférez le fil:

Maintenant, votre environnement de travail est prêt et vous avez tout ce dont vous avez besoin pour commencer.

Configurateur Discord.js

Une fois Node installé, votre ordinateur devrait avoir tout ce dont vous avez besoin pour installer la bibliothèque discord.js et vous pouvez commencer à programmer le bot. Mais avant cela, nous devons faire un petit tour du site Discord pour obtenir des identifiants. Voyons tout cela ensemble.

Où mettez-vous l’ID client Discord et le jeton Discord dans votre code JavaScript?

Revenez sur le portail des développeurs Discord pour obtenir le jeton que nous allons insérer dans notre projet.
Token Bot Discord dans le portail des développeurs

Par exemple, créez un fichier JavaScript index.js et ce code pour commencer:

const Discord = require('discord.js');
const client = new Discord.Client();
const token =INSÉREZ VOTRE TOKEN ICI’

client.once('ready', () => {
   console.log(Félicitations, votre bot Discord a été correctement initialisé !');
});

client.login(token);

Assurez-vous d’inclure votre jeton sur la ligne 3 entre les apostrophes.

Enregistrez votre fichier et exécutez la commande node index.js (Remplacez index.js par le nom de votre fichier si vous avez choisi un autre nom.)

Quand tu vois le message Félicitations, votre bot Discord a été correctement initialisé !c’est que tout s’est déroulé comme prévu, votre bot est bien connecté à votre serveur Discord et nous pouvons commencer à ajouter des informations pour faire des choses utiles.

Tirer le meilleur parti de Discord.js

Vous avez maintenant toutes les clés pour faire de votre serveur Discord un succès. Grâce aux différentes options qu’un bot Discord vous offre.

Félicitations, vous avez tout ce dont vous avez besoin pour créer un bot original qui répond exactement à vos attentes!

Je vous souhaite un serveur Discord populaire grâce à son automatisation et que l’API Discord.js vous guide vers d’autres créations via le code.

Vous avez maintenant une plaque chauffante en état de marche. Il est temps de s’amuser en explorant l’API Discord.js v12.

Il existe de nombreuses façons d’automatiser vos tâches et de créer des interactions avec vos membres. Je vais vous en montrer 3 ici avec du texte, des images et de la voix.

Un répondeur automatique en Javascript

client.on("message", message => {
  if (message.content === "!ping") {
    message.channel.send("Pong.")
  }
})

Créer une commande discord js

Vous savez maintenant comment interagir facilement avec un serveur Discord. Pour une meilleure organisation, les bots Discord js suivent une convention où un dossier est créé commands dans lequel nous passons tous nos commandes. Donc, si nous devions créer la commande de coup de pied utilisateur, nous aurions un fichier kick.js dans le fichier command et nous appellerions dans l’ordre index.js.

Créer un dossier commandes à la racine du dossier.

Créez un fichier kick.js et utilisez ce code:

module.exports = message => {
  const member = message.mentions.members.first()
  if (!member) {
    return message.reply(`Utilisateur pas trouvé ou pas spécifié`)
  }
  if (!member.kickable) {
    return message.reply(`L'utilisateur n'est pas kickable`)
  }
  return member
    .kick()
    .then(() => message.reply(`L'utilisateur ${member.user.tag} a été kicked`))
    .catch(error => message.reply(`Une erreur s'est produite`))
}

Importez la commande dans votre fichier principal index.js, importez et appelez la commande kick comme suit:

const kick = require("../commands/kick")
module.exports = (client, message) => {
  if (message.content.startsWith("!kick")) {
    return kick(message)
  }
}

Canva et Discord.js

Vous devrez installer une nouvelle bibliothèque, Canvas, pour gérer les images:

Ajoutez ensuite le code suivant à votre script:

client.on("guildMemberAdd", async member => {
  const channel = member.guild.channels.cache.find(
    ch => ch.name === "member-log"
  )
  if (!channel) return

  const canvas = Canvas.createCanvas(700, 250)
  const ctx = canvas.getContext("2d")

  const background = await Canvas.loadImage("./wallpaper.jpg")
  ctx.drawImage(background, 0, 0, canvas.width, canvas.height)

  ctx.strokeStyle = "#74037b"
  ctx.strokeRect(0, 0, canvas.width, canvas.height)

  
  ctx.font = "28px sans-serif"
  ctx.fillStyle = "#ffffff"
  ctx.fillText(
    "Bienvenue sur le serveur,",
    canvas.width / 2.5,
    canvas.height / 3.5
  )

  
  ctx.font = applyText(canvas, `${member.displayName}`)
  ctx.fillStyle = "#ffffff"
  ctx.fillText(
    `${member.displayName}!`,
    canvas.width / 2.5,
    canvas.height / 1.8
  )

  ctx.beginPath()
  ctx.arc(125, 125, 100, 0, Math.PI * 2, true)
  ctx.closePath()
  ctx.clip()

  const avatar = await Canvas.loadImage(
    member.user.displayAvatarURL({ format: "jpg" })
  )
  ctx.drawImage(avatar, 25, 25, 200, 200)

  const attachment = new Discord.MessageAttachment(
    canvas.toBuffer(),
    "bienvenue-image.png"
  )

  channel.send(`Bienvenue sur le serveur, ${member}!`, attachment)
})

La voix avec Discord js

client.on("message", async message => {
  
  if (message.member.voice.channel) {
    const connection = await message.member.voice.channel.join()

    
    const dispatcher = connection.play("audio.mp3")

    dispatcher.on("start", () => {
      console.log("audio.mp3 a commencé !")
    })

    dispatcher.on("finish", () => {
      console.log("audio.mp3 s'est terminé !")
    })

    
    dispatcher.on("error", console.error)

    dispatcher.destroy()
  }
})

Les Bots Discord est open source sur Github

Vous pouvez suivre le référentiel git associé à cet article Github. Si vous comprenez l’anglais, voyez ici la documentation officielle de Discord.js et Un guide complet avec de nombreux exemples et bonnes pratiques.

Hébergez votre bot Discord js en ligne gratuitement

À ce stade, vous devriez être satisfait de votre bot, qui devrait bien interagir avec votre serveur.

Il fonctionne correctement sur votre ordinateur, mais vous avez remarqué que le bot cesse de répondre au serveur lorsque votre script JavaScript cesse de s’exécuter.

Idéalement, nous voulons que notre bot fonctionne de manière continue, ininterrompue et stable. Un hébergeur est un bon choix ici.

Ces hôtes fonctionnent également pour les bots et les scripts développés dans d’autres langages de programmation.

Nous savons pourquoi vous devez héberger votre bot Discord. Voyons maintenant comment y arriver.

Héberger un bot discord js sur un VPS

Le moyen le plus simple d’héberger votre bot est de passer par un VPS. Un serveur privé virtuel ou un serveur dédié virtuel est une session virtuelle sur une partie d’un serveur physique. Avec cette location de serveur de fin de ligne, vous pouvez utiliser les hautes performances d’un serveur dans le cloud à un prix réduit.

Certains des VPS les plus populaires sont DigitalOcean, Heroku ou même AWS EC2.

Voyons comment vous exécutez votre script sur ces services.

Mettre un bot Discord en ligne avec Heroku
Avant de pouvoir héberger sur Heroku, vous devez comprendre Git. Si ce n’est pas le cas, il existe de nombreux didacticiels expliquant comment créer un compte Github et y placer votre code.

Sinon, écrivez votre code en utilisant git et hardcopy inscrivez-vous avec Heroku. Une fois que vous êtes inscrit et votre compte validé, lancez la commande dans la console heroku login.

Pour indiquer à Heroku quoi faire de votre projet, créez un fichier appelé Procfile avec comme contenu:

Et ajoutez le fichier package.json, la commande associée:

Entrez ensuite dans la console:

heroku create LE_NOM_DE_VOTRE_BOT_DISCORD
git remote add heroku https://git.heroku.com/LE_NOM_DE_VOTRE_BOT_DISCORD.git
git push heroku master

DigitalOcean héberge son bot Discord JS

Avec la plus petite gouttelette, vous pouvez également exécuter le bot en permanence sur DigitalOcean pour moins de 5 euros par mois.

Si vous n’avez pas encore de compte DigitalOcean, vous pouvez en utiliser un Mon lien d’affiliation pour obtenir un crédit de 100 $ pour obtenir près de 2 ans d’hébergement gratuit.

Mettez votre bot Discord js sur AWS EC2

Si vous connaissez Amazon Web Services, vous pouvez également y héberger votre bot. Utiliser EC2 est l’approche la plus simple, mais si vous savez comment le faire, cela peut être un article de blog en soi! Google est votre ami si c’est la voie que vous souhaitez emprunter pour héberger votre bot.

En savoir plus sur le développement des bots Discord.js sur YouTube

Pour faire avancer davantage le développement du bot Discord avec la bibliothèque JavaScript Discord.js, je recommande cette vidéo Pentiminax en deux parties:

Vous avez maintenant la base d’un bot NodeJS Discord!

Dans cet article, vous avez découvert:

  • Comment créer votre propre bot Discord dans Node JS
  • Quelles sont les commandes de base les plus importantes?
  • Comment organiser votre code et vos commandes

De plus, vous pouvez l’héberger gratuitement sur Heroku ou le payer en utilisant d’autres services.

Maintenant, c’est à vous de jouer, d’explorer les possibilités des bots Discord en utilisant JavaScript, de vous inspirer de ce que vous pouvez trouver sur Github et ailleurs, et partagez vos créations avec moi sur Twitter en utilisant le lien ci-dessous.

Voir également:





Source link

Recent Posts