Comment créer un Bot Discord en Python ?

Article mis à jour le Thursday, July 1, 2021.

Bot Discord Python

Vous voulez développer votre propre Bot Discord en Python ? Vous ne trouvez pas votre bonheur dans les bots publics mais vous vous débrouillez en Python ?

Python est un des languages les plus populaires pour développer des Bots Discord ce qui en fait un tres bon choix.

Dans cet article nous découvrirons :

  • Comment héberger vos scripts Python ?
  • Qu’est-ce que Discord.py, la libraire de reference pour développer des bots discord en python ?
  • Quel boilerplate utiliser pour votre bot discord ?

Découvrons sans plus tarder comment commencer le développement de votre Bot Discord en Python.

Comment utiliser un bot discord en Python ?

Avant de commencer le développement de notre bot Discord a proprement parler, vous devez :

  • vous inscrire sur Discord
  • vous inscrire sur le Portail des Développeurs Discord
  • Créer une application Discord
  • Preciser que c’est un bot
  • Lui donner des permissions
  • Récupérer vos tokens

Si vous n’avez pas encore tout cela, je vous explique tout sur mon article complet sur les bots discord.

Qu’est-ce que discord.py ?

discord.py

Discord.py est un package Python qui vous fournit un wrapper autour de l’API Discord.

Avec son API moderne, sa facile d’utilisation, sa richesse en features et sa gestion d’asynchrone, Discord.py s’est imposée comme Librairie de reference pour Discord.

Ainsi, vous pouvez voir qu’une bonne partie des bots Discord de top.gg ont ete fait avec discord.py.

C’est une API Python moderne utilisant l’async qui couvre à 100 % de l’API Discord.

Discord.py est un projet open-source disponible sur GitHub.

Comment obtenir discord.py ?

Pour obtenir le package python discord.py, il faut installer la librairie Discord.py avec la commande pip.

Avant de commencer, je vous conseille de vous créer un environnement virtuel.

En Python, un environnement virtuel permet d’installer des packages dans un environnement clos. Cela évite d’avoir une quantité importante de packages python sur votre machine. En plus, vous pourrez facilement installer les ressources nécessaires et rien d’autre en créant un fichier requirements.txt pour partager votre projet.

Créons donc notre virtual env avec la commande :

python3 -m venv <nom_de_votre_environnement_virtuel>

Suivi de

source <nom_de_votre_environnement_virtuel>/bin/activate

Finalement, on va installer le la librairie discord.py en fonction de notre système d’exploitation

Pour Mac OSX et Linux :

python -m pip install discord.py

Pour Windows :

py -3 -m pip install -U discord.py

Comment créer un bot discord.py ?

La libraire discord.py contient quelques exemples, regardons dans le repo des exemples de discord.py.

Utilisons l’exemple reply.py comme point de départ.

import discord

class MyClient(discord.Client):
    async def on_ready(self):
        print('Logged in as')
        print(self.user.name)
        print(self.user.id)
        print('------')

    async def on_message(self, message):
        # we do not want the bot to reply to itself
        if message.author.id == self.user.id:
            return

        if message.content.startswith('!hello'):
            await message.channel.send('Hello {0.author.mention}'.format(message))

client = MyClient()
client.run('token')

Une fois installe sur votre serveur, le bot répondra quand vous tapez !hello.

Une fonction appelée on_message et une autre appelée on_ready.

on_ready qui se produit au démarrage du bot et on_message, chaque fois qu’un messager est reçu.

La fonction on_ready est plus simple, alors regardons d’abord celle-là. Tout ce qu’elle fait, c’est imprimer les informations sur le client, confirmant que vous êtes connecté comme étant le bon bot et que la connexion a été établie avec succès.

La fonction on_message() commence par une déclaration if qui vérifie si l’auteur du message est le client lui-même. Ces messages sont ignorés, car cela signifie qu’il s’agit d’un message envoyé par le robot lui-même.

Tout en bas du fichier, après les définitions des fonctions, il y a simplement un appel à client.run().

Héberger un Bot Discord développé en Python

Pour héberger votre bot discord, il faut juste que votre fichier tourne en permanence.

Vous pouvez le faire tourner sur votre ordinateur s’il est allume 24/7, sur une raspberry pi ou dans le cloud.

Pour host et faire tourner votre bot, vous pouvez utiliser Heroku, PythonAnywhere, AWS ou un VPS.

Je vous montre quelques manières de faire ci-dessous.

Comment héberger un Bot Discord Python sur Heroku ?

Comment héberger un Bot Discord Python sur Heroku ?

Pour déployer votre bot discord en Python vous pouvez utiliser un compte Heroku gratuit.

Installer Heroku sur Mac OSX

brew install heroku/brew/heroku

ou avec le lien du client Mac OSX Heroku.

Installer Heroku sur Windows

Pour Windows, vous pouvez passer par les clients desktop aussi bien pour Windows 32 bits que 64 bits.

Si vous ne savez pas quelle version vous avez, vous avez sûrement plutôt le 64bits.

Windows 64-bits

Le client GUI Heroku Windows 64 bit.

Windows 32-bits

Le client GUI Heroku Windows 32 bit.

Installer Heroku sur Ubuntu

sudo snap install heroku --classic

Une fois installe, tapez heroku login dans votre terminal.

Ensuite heroku create.

Avec votre Procfile qui contient :

worker: python nom_de_votre_bot.py

Puis git push heroku master.

Host gratuitement un bot python sur PythonAnywhere

Host un Bot Discord sur PythonAnywhere

Pour déployer notre bot Discord, nous allons d’abord créer un compte gratuit avec PythonAnywhere.

PythonAnywhere un service qui permet de déployer facilement des applications Python dans le cloud. Sur la page de connexion, saisissez votre adresse email et votre mot de passe puis cliquez sur “Connexion”.

Un fois sur PythonAnywhere, rendez-vous sur la page du dashboard.

Cliquez ensuite sur “Upload a file”, localiser votre script de bot Discord et uploadez-le.

Il vous suffira ensuite de lancer le fichier .py que vous venez d’uploader en cliquant dessus et puis >>> Run this file.

Vous savez maintenant utiliser un bot discord en Python !

Dans cet article vous avez appris comment faire fonctionner un bot discord en Python.

Vous pouvez maintenant aller plus loin en améliorant votre script.

Les lecteurs de cet article on aussi aimé :

APPRENEZ GRATUITEMENT À CODER EN MOINS DE 30 JOURS !
Vous voulez apprendre la programmation ?
Recevez mon ebook GRATUIT : "9 astuces pour apprendre à coder".
Découvrez si le code est fait pour vous !

Je m'appelle Thomas. Depuis ma sortie de la première promo de l'École 42, j'ai développé une app qui a été téléchargée plus de 400.000 fois. J'ai lancé près de 10 idées de startups et de nombreux autres business. Sur ce blogue, je vous apprends comment utiliser le Code pour devenir libre.