environnement
Python 3.6.6
Discord.py-1.2.5
Structure du répertoire
├ cogs
│ └ mainCmd.py
└ main.py
main.py
import discord
from discord.ext import commands
import traceback
DiscordBot_Cogs = [
'cogs.mainCmd'
]
class MyBot(commands.Bot):
def __init__(self, command_prefix):
super().__init__(command_prefix)
for cog in DiscordBot_Cogs:
try:
self.load_extension(cog)
except Exception:
traceback.print_exc()
async def on_ready(self):
print('Démarrage du BOT')
if __name__ == '__main__':
bot = MyBot(command_prefix='!?')
bot.run('TOKEN')
mainCmd.py
from discord.ext import commands
class MainCmdCog(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def cmd(self, ctx):
await ctx.send("Reçu une commande.")
def setup(bot):
bot.add_cog(MainCmdCog(bot))
main.py
DiscordBot_Cogs = [
'cogs.mainCmd'
]
Mettez 'cogs.mainCmd'
dans la liste DiscordBot_Cogs
.
Lors de l'ajout d'un fichier Python (rouage) pour les commandes, suivez la méthode d'écriture de liste.
DiscordBot_Cogs = [
'cogs.mainCmd',
'cogs.exampleCmd'
]
Et. «cogs» est le nom du dossier et «mainCmd» est le nom du fichier sans extension.
for cog in DiscordBot_Cogs:
try:
self.load_extension(cog)
except Exception:
traceback.print_exc()
Tournez la liste précédente avec une instruction for et utilisez try & except pour enregistrer le rouage. (Une erreur se produit si le fichier n'existe pas car le nom du fichier est incorrect.)
if __name__ == '__main__':
bot = MyBot(command_prefix='!?')
bot.run('TOKEN')
Caractères à ajouter au début avec les commandes BOT (!?
Pour MonsterBOT, /
pour le style Minecraft)
mainCmd.py
@commands.command()
async def cmd(self, ctx):
await ctx.send("Reçu une commande.")
Je viens de taper !? Cmd
et j'ai reçu la commande` sur ce canal. Une commande à envoyer à ʻet BOT.
Lorsque vous utilisez un argument pour cela, procédez comme suit.
@commands.command()
async def cmd(self, ctx, *args):
if len(args) == 0:
await ctx.send("Il n'y a pas d'arguments.")
if len(args) == 1:
await ctx.send("Avec un seul argument**" + args[0] + "**Est.")
if len(args) == 2:
await ctx.send("Avec deux arguments**" + args[0] + "**Quand**" + args[1] + "**Est.")
Le reste devrait être augmenté.
Recommended Posts