[{"data":1,"prerenderedAt":29},["ShallowReactive",2],{"doc-fr-heberger-bot-discord-python":3},{"path":4,"slug":5,"title":6,"description":7,"category":8,"subcategory":9,"icon":10,"date":11,"author":12,"order":13,"image":14,"tags":15,"keywords":20,"docGroup":26,"docGroupIcon":26,"link_en":27,"bodyHtml":28},"\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python","heberger-bot-discord-python","Comment héberger son bot Discord Python (discord.py) ?","Hébergez votre bot discord.py chez Winheberg, token sur le portail Discord, environnement Python, requirements.txt, fichier .env, version de Python et erreurs courantes.","cloud","bot-discord","tabler:brand-python","2026-11-02","Winheberg",168,"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python.webp",[16,17,18,19],"bot discord","discord.py","python","panel",[21,22,17,23,24,25],"héberger bot discord python","hébergement bot discord","bot discord python","requirements.txt","token bot discord","","\u002Fen\u002Fdocs\u002Fbot-discord\u002Fhost-discord-bot-python","\u003Ch2>Contexte\u003C\u002Fh2>\n\u003Cp>Un bot Discord ne répond que tant que son programme tourne. Lancé depuis votre ordinateur, il se déconnecte dès que vous l&#39;éteignez ou que votre connexion tombe. L&#39;\u003Ca href=\"https:\u002F\u002Fwinheberg.com\u002Fcloud\u002Fbot-discord\">hébergement de bot Discord Winheberg\u003C\u002Fa> fait tourner votre bot sur un serveur prévu pour cet usage. Vous le pilotez depuis le panel, avec la console en direct, le gestionnaire de fichiers et le choix de la version de Python.\u003C\u002Fp>\n\u003Cp>Ce guide prend l&#39;exemple d&#39;un bot écrit en Python avec la bibliothèque discord.py. Vous allez d&#39;abord créer le bot sur le portail des développeurs de Discord et l&#39;inviter sur votre serveur Discord. Sur le panel, vous allez ensuite passer le service en environnement Python si besoin, envoyer le code du bot avec son token rangé dans un fichier \u003Ccode>.env\u003C\u002Fcode> et choisir la version de Python, puis démarrer le bot et vérifier dans la console qu&#39;il est bien connecté.\u003C\u002Fp>\n\u003Cp>Votre bot est écrit en JavaScript ? Consultez plutôt notre guide \u003Cstrong>« Comment héberger son bot Discord Node.js (discord.js) ? »\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch2>Prérequis\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>Un service Bot Discord actif chez Winheberg, accessible depuis le panel \u003Ccode>https:\u002F\u002Fpanel.winheberg.com\u002F\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Un compte Discord et un serveur Discord sur lequel vous avez la permission \u003Cstrong>Gérer le serveur\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Le code de votre bot avec son fichier \u003Ccode>requirements.txt\u003C\u002Fcode>, ou l&#39;exemple fourni dans ce guide\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>1. Créer l&#39;application et récupérer le token\u003C\u002Fh2>\n\u003Cp>Rendez-vous sur le portail des développeurs de Discord, \u003Ccode>https:\u002F\u002Fdiscord.com\u002Fdevelopers\u002Fapplications\u003C\u002Fcode>, et connectez-vous avec votre compte Discord. Cliquez sur \u003Cstrong>New Application\u003C\u002Fstrong>, donnez un nom à votre bot puis validez avec \u003Cstrong>Create\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Ouvrez ensuite la page \u003Cstrong>Bot\u003C\u002Fstrong> de l&#39;application. Dans la partie \u003Cstrong>Token\u003C\u002Fstrong>, cliquez sur \u003Cstrong>Reset Token\u003C\u002Fstrong> et confirmez. Discord affiche alors le token de votre bot. Copiez-le tout de suite, car il n&#39;est plus visible une fois la page quittée, et vous devrez alors en générer un nouveau.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-caution\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Le token donne le contrôle complet de votre bot. Toute personne qui le possède peut contrôler votre bot comme si c&#39;était le sien. Ne le publiez jamais, ni dans une capture, ni dans un message, ni dans un dépôt Git. S&#39;il a fuité, cliquez sur \u003Cstrong>Reset Token\u003C\u002Fstrong> pour l&#39;invalider et reportez le nouveau dans votre fichier \u003Ccode>.env\u003C\u002Fcode>.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch3>Activer les intents privilégiés si votre bot en a besoin\u003C\u002Fh3>\n\u003Cp>Toujours sur la page \u003Cstrong>Bot\u003C\u002Fstrong>, la section \u003Cstrong>Privileged Gateway Intents\u003C\u002Fstrong> regroupe trois accès que Discord ne donne pas par défaut. Le bot d&#39;exemple de ce guide utilise \u003Ccode>discord.Intents.default()\u003C\u002Fcode>, qui n&#39;en active aucun. Si vous le reprenez tel quel, passez directement à l&#39;étape 2.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Intent dans discord.py\u003C\u002Fth>\n\u003Cth>Ce qu&#39;il permet\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>intents.message_content\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Lire le contenu des messages, par exemple pour des commandes à préfixe comme \u003Ccode>!ping\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>intents.members\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Recevoir la liste et les mouvements des membres du serveur\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>intents.presences\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Voir le statut et l&#39;activité des membres\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Activez dans le portail uniquement ceux que votre code passe à \u003Ccode>True\u003C\u002Fcode>. Tant que votre application compte moins de 10 000 utilisateurs, l&#39;interrupteur du portail suffit.\u003C\u002Fp>\n\u003Ch2>2. Inviter le bot sur votre serveur Discord\u003C\u002Fh2>\n\u003Cp>Dans le portail, ouvrez la page \u003Cstrong>Installation\u003C\u002Fstrong> de votre application. Cochez \u003Cstrong>Guild Install\u003C\u002Fstrong> sous \u003Cstrong>Installation Contexts\u003C\u002Fstrong>, puis choisissez \u003Cstrong>Discord Provided Link\u003C\u002Fstrong> sous \u003Cstrong>Install Link\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Dans \u003Cstrong>Default Install Settings\u003C\u002Fstrong>, ajoutez à \u003Cstrong>Guild Install\u003C\u002Fstrong> les scopes \u003Ccode>applications.commands\u003C\u002Fcode> et \u003Ccode>bot\u003C\u002Fcode>. Le menu \u003Cstrong>Permissions\u003C\u002Fstrong> apparaît alors. Sélectionnez-y les permissions dont votre bot a besoin, par exemple \u003Cstrong>Send Messages\u003C\u002Fstrong> et \u003Cstrong>View Channels\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>Copiez le lien d&#39;installation affiché sur la page, ouvrez-le dans votre navigateur, choisissez votre serveur Discord et validez. Le bot apparaît dans la liste des membres, hors ligne tant que son programme ne tourne pas.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Le générateur de lien de la page \u003Cstrong>OAuth2\u003C\u002Fstrong>, section \u003Cstrong>OAuth2 URL Generator\u003C\u002Fstrong>, fonctionne aussi. Cochez les mêmes scopes \u003Ccode>bot\u003C\u002Fcode> et \u003Ccode>applications.commands\u003C\u002Fcode>, puis copiez l&#39;URL générée en bas de page.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>3. Passer le service en environnement Python\u003C\u002Fh2>\n\u003Cp>Connectez-vous au panel Winheberg et sélectionnez votre service Bot Discord. Dans le menu latéral, cliquez sur \u003Cstrong>Software Changer\u003C\u002Fstrong>. La page liste les environnements disponibles. L&#39;environnement actif affiche un bouton \u003Cstrong>REINSTALL\u003C\u002Fstrong> au lieu de \u003Cstrong>INSTALL\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-warning\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\u002F>\u003Cline x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\u002F>\u003Cline x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Faites une sauvegarde avant de changer d&#39;environnement, surtout si le serveur contient déjà des fichiers auxquels vous tenez.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Cp>Si \u003Cstrong>python generic\u003C\u002Fstrong> n&#39;est pas l&#39;environnement actif, cliquez sur son bouton \u003Cstrong>INSTALL\u003C\u002Fstrong> puis confirmez avec \u003Cstrong>Yes\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644515863-4fda87aa063d51bc1ae0be65.webp\" alt=\"Software Changer avec l'environnement python generic actif et son bouton REINSTALL\" width=\"400\" \u002F>\n\n\u003Ch2>4. Préparer les fichiers du bot\u003C\u002Fh2>\n\u003Cp>Un bot discord.py minimal tient en trois fichiers, tous placés à la racine du serveur.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Fichier\u003C\u002Fth>\n\u003Cth>Rôle\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>requirements.txt\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Liste les bibliothèques dont le bot a besoin\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>app.py\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Le code du bot, lancé au démarrage\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>.env\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Le token, gardé à part du code\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Le fichier \u003Ccode>requirements.txt\u003C\u002Fcode> déclare discord.py et python-dotenv, la bibliothèque qui lit le fichier \u003Ccode>.env\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">discord.py&gt;=2.7\npython-dotenv&gt;=1.2\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le fichier \u003Ccode>app.py\u003C\u002Fcode> charge le token, connecte le bot et écrit une ligne dans la console une fois la connexion établie.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-python\">import os\n\nimport discord\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\nintents = discord.Intents.default()\nclient = discord.Client(intents=intents)\n\n\n@client.event\nasync def on_ready():\n    print(f&quot;Ready! Logged in as {client.user}&quot;)\n\n\nclient.run(os.getenv(&quot;DISCORD_TOKEN&quot;))\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Le fichier \u003Ccode>.env\u003C\u002Fcode> contient une seule ligne, avec le token copié à l&#39;étape 1 à la place du texte d&#39;exemple.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">DISCORD_TOKEN=COLLEZ_ICI_LE_TOKEN_DE_VOTRE_BOT\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cdiv class=\"markdown-alert markdown-alert-important\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Cpath d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10z\"\u002F>\u003Cpath d=\"M12 8v4\"\u002F>\u003Cpath d=\"M12 16h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>N&#39;envoyez pas d&#39;environnement virtuel ni de dossier de bibliothèques. À chaque démarrage, le serveur lance \u003Ccode>pip install -U\u003C\u002Fcode> sur le fichier \u003Ccode>requirements.txt\u003C\u002Fcode> et installe lui-même les bibliothèques listées, ou les met à jour.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>5. Envoyer les fichiers sur le serveur\u003C\u002Fh2>\n\u003Cp>Dans le menu latéral, cliquez sur \u003Cstrong>Files\u003C\u002Fstrong>. Le bouton \u003Cstrong>Upload\u003C\u002Fstrong> permet d&#39;envoyer vos fichiers depuis votre ordinateur. Déposez-les à la racine, c&#39;est-à-dire directement dans le dossier affiché par \u003Cstrong>Files\u003C\u002Fstrong>, pas dans un sous-dossier.\u003C\u002Fp>\n\u003Cp>Vous pouvez aussi créer chaque fichier sur le serveur. Cliquez sur \u003Cstrong>New file\u003C\u002Fstrong>, collez le contenu dans l&#39;éditeur, cliquez sur \u003Cstrong>Create File\u003C\u002Fstrong> puis nommez le fichier, \u003Ccode>requirements.txt\u003C\u002Fcode> dans l&#39;exemple ci-dessous. Procédez de la même façon pour \u003Ccode>app.py\u003C\u002Fcode> et \u003Ccode>.env\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644516268-da42faddbde1a554d0c99a8a.webp\" alt=\"Fichier requirements.txt avec discord.py et python-dotenv et le bouton Create File\" width=\"800\" \u002F>\n\n\u003Cp>Les trois fichiers apparaissent ensuite dans le gestionnaire de fichiers.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644750489-d16393fd263ddf4c6c35138a.webp\" alt=\"Fichiers .env, app.py et requirements.txt dans le gestionnaire de fichiers du panel\" width=\"800\" \u002F>\n\n\u003Cdiv class=\"markdown-alert markdown-alert-tip\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cpath d=\"M12 16v-4\"\u002F>\u003Cpath d=\"M12 8h.01\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Pour un projet volumineux ou de nombreux fichiers, passez par le SFTP. Notre guide \u003Ca href=\"https:\u002F\u002Fwinheberg.com\u002Fdocs\u002Fpanel-gaming\u002Fconnexion-sftp-serveur-gaming\">« Comment se connecter en SFTP à son serveur gaming ? »\u003C\u002Fa> détaille la connexion avec FileZilla ou WinSCP, elle fonctionne de la même manière pour un service Bot Discord.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>6. Choisir la version de Python et le fichier principal\u003C\u002Fh2>\n\u003Cp>Dans le menu latéral, cliquez sur \u003Cstrong>Startup\u003C\u002Fstrong>. Le menu \u003Cstrong>Docker Image\u003C\u002Fstrong> fixe la version de Python utilisée par le bot. Il propose Python 2.7 ainsi que les versions 3.7 à 3.13.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644750832-1a7397aada7bd66772ea936d.webp\" alt=\"Page Startup avec la commande de démarrage Python et le menu Docker Image sur Python 3.13\" width=\"800\" \u002F>\n\n\u003Cp>La bibliothèque discord.py 2.7 demande Python 3.8 ou une version plus récente, et python-dotenv 1.2 exige Python 3.10 ou une version plus récente. Pour le bot d&#39;exemple, choisissez donc une image à partir de Python 3.10.\u003C\u002Fp>\n\u003Cp>Plus bas, la section \u003Cstrong>Variables\u003C\u002Fstrong> contient les réglages du démarrage.\u003C\u002Fp>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644751193-12f7796bf7ccb1163a40bf00.webp\" alt=\"Variables Startup APP PY FILE, ADDITIONAL PYTHON PACKAGES et REQUIREMENTS FILE\" width=\"800\" \u002F>\n\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Variable\u003C\u002Fth>\n\u003Cth>Rôle\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Cstrong>APP PY FILE\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Le fichier lancé au démarrage, \u003Ccode>app.py\u003C\u002Fcode> par défaut\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>REQUIREMENTS FILE\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Le fichier qui liste les bibliothèques installées à chaque démarrage, \u003Ccode>requirements.txt\u003C\u002Fcode> par défaut\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cstrong>ADDITIONAL PYTHON PACKAGES\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd>Bibliothèques supplémentaires installées à chaque démarrage, séparées par des espaces\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Si le point d&#39;entrée de votre bot porte un autre nom, \u003Ccode>bot.py\u003C\u002Fcode> ou \u003Ccode>main.py\u003C\u002Fcode> par exemple, indiquez-le dans \u003Cstrong>APP PY FILE\u003C\u002Fstrong>. Le panel enregistre la valeur dès que vous la saisissez.\u003C\u002Fp>\n\u003Cdiv class=\"markdown-alert markdown-alert-note\">\u003Cspan class=\"alert-icon\">\u003Csvg xmlns=\"http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\u003Ccircle cx=\"12\" cy=\"12\" r=\"10\"\u002F>\u003Cline x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\u002F>\u003Cline x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\u002F>\u003C\u002Fsvg>\u003C\u002Fspan>\u003Cdiv class=\"markdown-alert-body\">\u003Cp>Juste après un passage par \u003Cstrong>Software Changer\u003C\u002Fstrong>, les champs \u003Cstrong>APP PY FILE\u003C\u002Fstrong> et \u003Cstrong>REQUIREMENTS FILE\u003C\u002Fstrong> peuvent n&#39;afficher qu&#39;un texte d&#39;exemple grisé. Saisissez les valeurs vous-même, \u003Ccode>app.py\u003C\u002Fcode> et \u003Ccode>requirements.txt\u003C\u002Fcode> pour le bot d&#39;exemple.\u003C\u002Fp>\n\u003C\u002Fdiv>\u003C\u002Fdiv>\n\u003Ch2>7. Démarrer le bot et vérifier la console\u003C\u002Fh2>\n\u003Cp>Dans le menu latéral, cliquez sur \u003Cstrong>Console\u003C\u002Fstrong> puis sur \u003Cstrong>Start\u003C\u002Fstrong>. Le serveur affiche la version de Python, installe les bibliothèques du \u003Ccode>requirements.txt\u003C\u002Fcode> puis lance \u003Ccode>app.py\u003C\u002Fcode>.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">Python 3.13.18\nCollecting discord.py&gt;=2.7 (from -r requirements.txt (line 1))\nCollecting python-dotenv&gt;=1.2 (from -r requirements.txt (line 2))\nSuccessfully installed aiohappyeyeballs-2.7.1 aiohttp-3.14.5 aiosignal-1.4.0 attrs-26.1.0 audioop-lts-0.2.2 discord.py-2.7.1 frozenlist-1.8.0 idna-3.20 multidict-7.2.1 propcache-0.5.4 python-dotenv-1.2.4 yarl-1.25.1\n2026-11-02 19:29:33 INFO     discord.client logging in using static token\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Une fois la connexion à Discord établie, le bot d&#39;exemple écrit la ligne suivante, avec le nom de votre bot. Il passe alors en ligne dans la liste des membres de votre serveur Discord.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">Ready! Logged in as MonBot#1234\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Aux démarrages suivants, pip répond \u003Ccode>Requirement already satisfied\u003C\u002Fcode> pour chaque bibliothèque déjà à jour, ce qui accélère le lancement.\u003C\u002Fp>\n\u003Ch2>En cas de problème\u003C\u002Fh2>\n\u003Ch3>❌ discord.errors.LoginFailure: Improper token has been passed.\u003C\u002Fh3>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644516634-d83bb0ba4dcb0aa5222f1f94.webp\" alt=\"Console du panel affichant l'erreur discord.errors.LoginFailure Improper token has been passed\" width=\"640\" \u002F>\n\n\u003Cul>\n\u003Cli>Vérifiez que le fichier s&#39;appelle exactement \u003Ccode>.env\u003C\u002Fcode> et qu&#39;il se trouve à la racine, à côté de \u003Ccode>app.py\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Vérifiez que le nom de la variable est identique dans \u003Ccode>.env\u003C\u002Fcode> et dans le code, \u003Ccode>DISCORD_TOKEN\u003C\u002Fcode> dans l&#39;exemple\u003C\u002Fli>\n\u003Cli>Recopiez le token en entier, sans espace avant ou après\u003C\u002Fli>\n\u003Cli>Si vous avez cliqué sur \u003Cstrong>Reset Token\u003C\u002Fstrong> entre-temps, reportez le nouveau token dans \u003Ccode>.env\u003C\u002Fcode>, l&#39;ancien ne fonctionne plus\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ can&#39;t open file &#39;\u002Fhome\u002Fcontainer\u002Fbot.py&#39;: [Errno 2] No such file or directory\u003C\u002Fh3>\n\u003Cimg src=\"\u002Fstatics\u002Fimages\u002Fdocs\u002Ffr\u002Fcloud\u002Fbot-discord\u002Fheberger-bot-discord-python-1793644517041-3dcaab4514dc146164f7c19f.webp\" alt=\"Console du panel affichant can't open file bot.py No such file or directory\" width=\"800\" \u002F>\n\n\u003Cul>\n\u003Cli>La valeur de \u003Cstrong>APP PY FILE\u003C\u002Fstrong> ne correspond à aucun fichier présent à la racine du serveur\u003C\u002Fli>\n\u003Cli>Ouvrez \u003Cstrong>Files\u003C\u002Fstrong> et vérifiez le nom exact de votre fichier principal, majuscules comprises\u003C\u002Fli>\n\u003Cli>Reportez ce nom dans \u003Cstrong>APP PY FILE\u003C\u002Fstrong> sur la page \u003Cstrong>Startup\u003C\u002Fstrong>, puis redémarrez\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ ModuleNotFoundError: No module named &#39;discord&#39;\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Vérifiez que \u003Ccode>requirements.txt\u003C\u002Fcode> se trouve à la racine et que son nom correspond à la variable \u003Cstrong>REQUIREMENTS FILE\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Vérifiez qu&#39;il contient bien la ligne \u003Ccode>discord.py\u003C\u002Fcode>, car le code importe le module \u003Ccode>discord\u003C\u002Fcode> alors que la bibliothèque à installer s&#39;appelle \u003Ccode>discord.py\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Remontez dans la console jusqu&#39;aux lignes de pip pour repérer une éventuelle erreur d&#39;installation, puis redémarrez\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ discord.errors.PrivilegedIntentsRequired\u003C\u002Fh3>\n\u003Cp>Le message complet commence par \u003Ccode>Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal.\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Votre code demande un intent privilégié, \u003Ccode>message_content\u003C\u002Fcode>, \u003Ccode>members\u003C\u002Fcode> ou \u003Ccode>presences\u003C\u002Fcode>, qui n&#39;est pas activé sur la page \u003Cstrong>Bot\u003C\u002Fstrong> du portail des développeurs\u003C\u002Fli>\n\u003Cli>Activez l&#39;intent correspondant dans \u003Cstrong>Privileged Gateway Intents\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Ou retirez de votre code l&#39;intent dont le bot n&#39;a pas besoin, puis redémarrez\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>❌ Les commandes à préfixe ne répondent pas\u003C\u002Fh3>\n\u003Cp>Si votre bot utilise \u003Ccode>commands.Bot\u003C\u002Fcode>, la console affiche l&#39;avertissement suivant.\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\">Privileged message content intent is missing, commands may not work as expected.\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>Ajoutez la ligne \u003Ccode>intents.message_content = True\u003C\u002Fcode> dans votre code avant de créer le bot\u003C\u002Fli>\n\u003Cli>Activez l&#39;intent de contenu des messages dans la section \u003Cstrong>Privileged Gateway Intents\u003C\u002Fstrong> du portail, puis redémarrez\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Bonnes pratiques\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Cstrong>Gardez le token dans \u003Ccode>.env\u003C\u002Fcode>\u003C\u002Fstrong>, jamais dans \u003Ccode>app.py\u003C\u002Fcode>, et ajoutez \u003Ccode>.env\u003C\u002Fcode> à votre \u003Ccode>.gitignore\u003C\u002Fcode> si votre code est sur Git\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Encadrez les versions\u003C\u002Fstrong> dans \u003Ccode>requirements.txt\u003C\u002Fcode>, par exemple \u003Ccode>discord.py&gt;=2.7,&lt;3\u003C\u002Fcode>, car le serveur passe à chaque démarrage à la dernière version qui respecte ces bornes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Faites une sauvegarde avant une mise à jour importante\u003C\u002Fstrong> du bot ou de discord.py, notre guide \u003Ca href=\"https:\u002F\u002Fwinheberg.com\u002Fdocs\u002Fpanel-gaming\u002Fcreer-restaurer-sauvegarde-serveur-gaming\">« Comment créer et restaurer une sauvegarde de son serveur gaming ? »\u003C\u002Fa> explique la marche à suivre\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Utilisez une base MySQL\u003C\u002Fstrong> si votre bot doit conserver des données, notre guide \u003Ca href=\"https:\u002F\u002Fwinheberg.com\u002Fdocs\u002Fpanel-gaming\u002Fcreer-base-donnees-mysql-panel\">« Comment créer une base de données MySQL depuis le panel gaming ? »\u003C\u002Fa> s&#39;applique aussi au service Bot Discord\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Donnez un accès sous-utilisateur\u003C\u002Fstrong> aux personnes qui vous aident plutôt que de partager votre mot de passe, comme l&#39;explique notre guide \u003Ca href=\"https:\u002F\u002Fwinheberg.com\u002Fdocs\u002Fpanel-gaming\u002Fajouter-sous-utilisateur-panel-gaming\">« Comment ajouter un sous-utilisateur à son panel gaming ? »\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Besoin d&#39;aide ?\u003C\u002Fh2>\n\u003Cp>Si votre bot refuse de démarrer ou ne se connecte pas à Discord malgré ces vérifications, notre équipe est là pour vous aider. Ouvrez un ticket dans le département \u003Cstrong>Technique\u003C\u002Fstrong> depuis votre espace client, renseignez le champ \u003Cstrong>Produit lié\u003C\u002Fstrong> avec votre service Bot Discord et indiquez le message d&#39;erreur affiché dans la console, sans jamais y joindre le token.\u003C\u002Fp>\n\u003Cp>Votre bot Discord tourne désormais sur Winheberg 🤖\u003C\u002Fp>\n",1794353862176]