Bonjour, je suis actuellement en train de créer un bot pour mon serveur discord.
Ce bot est codé en python3 avec discord.py, j’aimerais séparer mon code en plusieurs fichier de façon à le rendre plus propre mais je n’arrive pas à utiliser les commandes étant situé dans d’autres fichiers que le fichier principal.
J’utilise un venv, je suis sous ArchLinux donc pour les commandes de shell(bash, sh, fish …) n’ayez pas peur de m’en donner pour avoir plus d’informations sur mon code et les éventuelles erreurs que j’ai.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | . ├── autostart.sh ├── commands │ ├── admin.py │ ├── fun.py │ └── __pycache__ │ ├── admin.cpython-36.pyc │ └── fun.cpython-36.pyc ├── discord.log ├── erabot.py ├── herobrine.py ├── main.py └── requirements.txt 2 directories, 10 files |
Le fichier requirements.txt
est vide, les fichier erabot.py
et herobrine.py
sont deux fichier de démarrage différents, l’un n’utilise pas plusieurs fichiers et l’autre utilise commands/admin.py
et commands/fun.py
.
main.py
est vide et n’est pas encore utilisé.
erabot.py
est le fichier qui doit en importer plusieurs pour fonctionner, voici son code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #!/usr/bin/env python # -*- coding: utf-8 -*- import asyncio import discord import logging from commands.admin import * from commands.fun import * # Logs logger = logging.getLogger('discord') logger.setLevel(logging.DEBUG) handler = logging.FileHandler(filename='discord.log', encoding='utf-8', mode='w') handler.setFormatter(logging.Formatter('%(asctime)s:%(levelname)s:%(name)s: %(message)s')) logger.addHandler(handler) client = discord.Client() @client.event async def on_ready(): print('Connecté en tant que:') print(client.user.name) print(client.user.id) print('En cours d\'éxecution.') client.run('Token') |
J’ai remplacé le token par Token
Soyez indulgent je ne sait que très peu de choses en python, et je débute avec discord.py.