我正在尝试使用 discord.py 命令扩展中的内置帮助命令,但我似乎无法加载齿轮,因此我可以对命令进行排序。这是我当前的代码:
bot = commands.Bot(command_prefix='fd!', description=description, intents=intents)
class Testing(commands.Cog):
def __init__(self, bot):
self.bot = bot
self._last_member = None
@commands.command(description = "Sends a test message")
async def test(ctx):
await message.channel.send("Test")
#extra code for other un-grouped commands here
def setup(bot):
bot.add_cog(Testing(bot))
#bot.run stuff here
我错过了什么吗?当我运行命令 (fd!test) 时,它说该命令不存在,而当我运行 fd!help 时,它没有列出,齿轮也没有列出。
感谢帮助!
答案 0 :(得分:1)
首先,您需要在 cog 文件的顶部添加 import discord
和 from discord.ext import commands
。确保您的 cog 文件位于名为 cogs
的文件夹中,该文件夹应与项目的其余部分位于同一文件夹中。在您的主代码中,添加以下内容以实际加载 cog:
# loading all cogs
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
bot.load_extension(f'cogs.{filename[:-3]}')
另外,需要在self
前传入ctx
,需要将message.channel.send
改成ctx.send
:
@commands.command(description = "Sends a test message")
async def test(self, ctx):
await ctx.send("Test")