Comment créer un robot Discord

By Flavien ROUX

Raconter des blagues, diffuser de la musique sur votre flux, accueillir de nouveaux utilisateurs sur votre serveur… que ne peut pas faire un robot Discord ? Rien, si vous êtes derrière la programmation.

Sur Discord, les gens collaborent pour partager des idées, discuter de projets et discuter de la vie et des loisirs en général. Mais les robots Discord peuvent rendre vos salons de discussion plus amusants en plus d’automatiser des tâches. Il peut s’agir de raconter des blagues au hasard, de jouer une musique spécifique, etc.

Néanmoins, vous devez suivre certaines étapes essentielles pour apprendre à créer un robot Discord. Nous allons les explorer dans cet article.
Commençons.

Avant de créer un robot Discord, vous devez commencer par créer un serveur, car c’est le lieu d’affectation du robot.

Un serveur ou un salon de discussion Discord est un espace où vous gérez les canaux et les communications sur la plateforme.

Pour créer un serveur Discord, rendez-vous sur le site Web de Discord et connectez-vous à votre tableau de bord Discord. Ou créez un compte si vous n’en avez pas déjà un.

Une fois dans votre tableau de bord, suivez ces étapes pour créer un serveur Discord :

Cliquez sur l'icône d'ajout (+) dans la barre latérale gauche.
Tableau de bord Discord - Créer un serveur
Sélectionnez l'option Créer mon propre serveur.
Création d'un serveur Discord
Choisissez un objectif pour la création de votre serveur.
Personnalisez votre serveur avec une photo de profil et un nom. Cliquez ensuite sur Créer.
Nommage et personnalisation du serveur Discord

Vous avez maintenant créé un serveur Discord et vous êtes prêt à créer un robot pour contrôler certaines activités sur ce serveur.

Configurer et créer votre robot Discord

Ensuite, vous voulez créer un robot Discord à l’intérieur d’une application Discord en allant sur le portail des développeurs Discord. Vous pouvez également saisir l’URL suivante dans le champ d’adresse de votre navigateur : https://discord.com/developers/applications

Une fois dans la console du développeur :

Cliquez sur Nouvelle application en haut à gauche.
Console du développeur Discord
Donnez un nom à votre application dans le champ prévu à cet effet. Cliquez ensuite sur Créer.
Création d'un bot dans la console de développement Discord
Regardez dans la barre latérale gauche, et sélectionnez Bot.
Cliquez sur Ajouter un bot à l'extrême droite.
Bot de la console du développeur Discord
À l'invite suivante, choisissez Oui, faites-le !
Étape du bot de la console de développement Discord
Cliquez sur Copy pour copier votre jeton de robot. Créez un fichier texte à la racine de votre projet et collez-le-y. Vous pouvez nommer ce fichier secret.txt. Veillez à ne pas révéler le jeton copié.
Jeton de la console de développement Doscord
Faites défiler vers le bas et activez l'interrupteur sous PRESENCE INTENT. Activez également l'interrupteur sous SERVER MEMBERS INTENT.
Paramètres d'intention du robot Discord
Ensuite, cliquez sur OAuth2 dans la barre de gauche pour ajouter des priorités d'authentification à votre robot Discord.
Sélectionnez Générateur d'URL pour générer une URL d'invitation au bot pour le serveur que vous avez créé précédemment.
Dans les options, sous SCOPES, sélectionnez bot.
URL du bot de la console de développement Discord
Faites défiler la page jusqu'à la section PERMISSION DU BOT et sélectionnez les rôles de votre robot Discord. Dans ce cas, nous allons lui donner le rôle d'administrateur.
Rôle d'administrateur du robot Discord
Faites défiler jusqu'en bas et cliquez sur COPY pour copier l'URL générée dans votre presse-papiers.

Il ne vous reste plus qu’à lier votre serveur au robot.

A lire également :   Pourquoi y a-t-il autant de distributions Linux ?

Relier un serveur à votre robot Discord

Comme nous l’avons mentionné, un robot fonctionne principalement sur le serveur. Par conséquent, après avoir créé un robot Discord comme nous l’avons fait, vous devez l’affecter à un serveur sur lequel vous souhaitez qu’il fonctionne.

Une fois que vous avez copié l’URL générée, suivez les étapes suivantes pour relier votre salle de discussion au robot Discord :

Collez l'URL copiée dans le champ d'adresse de votre navigateur et connectez-vous à ce dernier.
À l'invite, cliquez sur Sélectionner un serveur et choisissez celui que vous avez créé précédemment.
Interface de liaison entre le serveur Discord et le robot
Cliquez sur Continuer pour poursuivre.
Un nouveau menu s'affiche avec la liste des autorisations que vous avez définies précédemment. Sélectionnez Authorize.
Lien entre le robot Discord et le serveur
Résolvez le CAPTCHA pour terminer l'autorisation de votre robot Discord.

Vous avez maintenant créé un robot Discord. Revenez au tableau de bord de votre serveur et vous verrez le robot dans la barre latérale droite. Mais comme vous pouvez le voir, il est actuellement hors ligne. Il ne fonctionne donc pas encore tant que vous ne l’avez pas programmé.

Pour faire fonctionner votre robot, vous devez écrire un script dans le langage de programmation qui vous convient le mieux.

Programmer votre robot Discord en utilisant Python

Pour ce tutoriel, nous allons utiliser Python et héberger le robot Discord sur la machine locale. Vous pouvez héberger le vôtre sur des services en nuage comme Heroku si vous le souhaitez, une fois que tout est configuré. Commençons par le commencement.
Configuration de Python et des bibliothèques

A lire également :   Comment ces graphistes racontent une histoire à travers leurs sites Web

Pour programmer votre robot Discord avec Python, vous utiliserez le module discord.py, qui fonctionne uniquement avec Python 3.5.3 ou supérieur.

Si vous ne l’avez pas encore fait ou si vous disposez d’une version antérieure, rendez-vous sur python.org pour télécharger la dernière version de Python.

Vous pouvez vérifier la version de Python installée sur votre PC en entrant la commande suivante dans votre terminal :

python –version

Si Python est à jour, ouvrez le terminal à la racine de votre projet. Activez ensuite un environnement virtuel Python.

Vous devrez également installer discord.py et un paquet de support vocal appelé discord.py [voice].

Une fois l’environnement virtuel activé, exécutez la commande suivante dans votre terminal pour installer ces paquets :

pip install -U discord.py discord.py [voice]

Envoyez un message avec votre robot Discord

Ici, vous allez programmer votre robot Discord pour répondre avec un message personnalisé lorsque vous envoyez un texte dans un canal.

Mais d’abord, tapez le code suivant en haut de votre script pour initialiser votre robot Discord :

import discord

Importez le module de commandes :

from discord.ext import commands

Initialisez l’instance du robot et utilisez un préfixe vide :

bot = commands.Bot(command_prefix= » »)

Lisez votre jeton de robot à partir du fichier txt à la racine de votre projet :

Secret = open(« secret.txt », ‘r’)
Secret = Secret.read()

Exécutez le robot dans une boucle d’événements :

bot.run(Secret)

La variable bot invoque des commandes personnalisées de la classe command. Et le préfixe command_prefix dans la parenthèse vous permet de spécifier un caractère qui le précède. Des caractères tels que le signe dollar ($), l’exclamation ( !), l’esperluette (&), etc. sont des préfixes courants qui précèdent les commandes bot.

Mais dans notre cas, nous avons supprimé le préfixe. Vous n’en avez donc pas besoin lorsque vous donnez des instructions au robot Discord.

À l’aide du décorateur @bot.command(), créons une commande personnalisée, Hi, et fournissons un texte de réponse au robot Discord lorsqu’il la voit.

Notez que les commandes personnalisées sont des fonctions Python :

import discord

Importez le module commands :

from discord.ext import commands

Initialise l’instance du robot :

bot = commands.Bot(command_prefix= » »)
@bot.command()
async def Hi(ctx) :
await ctx.send(« Bonjour, bienvenue sur notre serveur »)
Secret = open(« secret.txt », ‘r’)
Secret = Secret.read()
bot.run(Secret)

Exécutez maintenant le script Python dans votre terminal. Puis allez sur Discord et envoyez « Hi » pour voir la magie opérer.

En regardant de près, vous verrez que nous avons utilisé la méthode async await pour servir la fonction. C’est essentiel, car c’est le seul moyen pour le module de communiquer avec Discord.

A lire également :   L'internet par satellite est-il la réponse à un réseau électrique peu fiable ?

L’instance ctx est un contexte, et elle a de nombreuses fonctions. Mais dans ce cas, elle permet à votre robot Discord d’envoyer un message.

Accueillez les nouveaux membres du canal avec votre robot

Dans cet exemple, vous verrez comment utiliser les événements pour déclencher un message d’accueil lorsqu’une personne rejoint votre serveur. Vous apprendrez également comment afficher le nom d’utilisateur d’un nouveau membre et le serveur qu’il a rejoint dans le message d’accueil.

Nous allons utiliser @bot.event à la place. Voici comment cela fonctionne :

@bot.event
async def on_member_join(membre) :
guild = member.guild
si guild.system_channel n’est pas None :
detailMessage = ‘We welcome {0.mention} to the {1.name}!’.format(member, guild)
await guild.system_channel.send(detailMessage)

La fonction on_member_join est un type d’événement. Mais il en existe beaucoup d’autres. La méthode on_ready, par exemple, est un événement très utilisé pour vérifier si un robot est prêt ou non.

En outre, la condition qui suit l’instruction if vérifie si le serveur connecté (guilde ou salon de discussion) existe ou non. Si c’est le cas, elle utilise la méthode de formatage de chaîne Python pour afficher le nom d’utilisateur du nouveau membre et le serveur qu’il a rejoint.

Demandez maintenant à un ami de rejoindre votre serveur pour voir ce qui se passe. Il est préférable d’essayer d’abord avec un compte Discord factice, pour vous assurer que cela fonctionne.

Demander au robot Discord de rejoindre ou de quitter un canal audio

Maintenant, développons le code. Cette fois, vous allez demander à votre robot de rejoindre ou de quitter un canal audio lorsqu’il reçoit une commande particulière.

Dans l’exemple de code ci-dessous, le robot Discord vous rejoint dans un canal audio lorsque vous tapez « enter » :

@bot.command()
async def leave(ctx) :
if ctx.voice_client :
await ctx.guild.voice_client.disconnect()

Arrêtez et exécutez à nouveau votre script. Le robot Discord devrait maintenant quitter le canal audio lorsque vous envoyez la commande « leave ».

Continuez à améliorer votre robot Discord

Voilà, c’est fait ! Vous avez créé un robot Discord fonctionnel. Assemblez les blocs de code de l’exemple et continuez à ajouter des fonctionnalités à votre robot Discord. Par exemple, vous pouvez lui demander de diffuser de la musique depuis votre PC ou une plateforme de streaming dès qu’il rejoint un canal audio.

Les robots Discord sont amusants à utiliser. Si vous n’automatisez pas encore des tâches avec eux dans vos salles de discussion, vous passez à côté d’une grande efficacité.