【发布时间】:2021-05-12 17:46:55
【问题描述】:
我在设置带有可选 Arg 的命令以重新加载我的 cog 时遇到问题。它告诉我该命令不存在,并且经过一些修改后,即使我将 arg 用于特定的 cog,它也会重新加载所有参数。目前它正在尝试重新加载一个名为 None 的 cog。
我的代码:
@commands.has_role("Founder")
@bot.command()
async def reload(ctx, extension=None):
if ctx.channel.name == ("dev-testing") and {extension} == None:
for filename in os.listdir('./cogs'):
if filename.endswith('.py'):
bot.unload_extension(f'cogs.{filename[:-3]}')
bot.load_extension(f'cogs.{filename[:-3]}')
await ctx.send("All cogs have been reloaded!")
print(bcolors.WARNING + "All cogs have been reloaded!" + bcolors.ENDC)
elif ctx.channel.name == ("dev-testing") and {extension} != None:
bot.unload_extension(f'cogs.{extension}')
bot.load_extension(f'cogs.{extension}')
await ctx.send(f'{extension} has been reloaded!')
print(bcolors.WARNING + f'{extension} has been reloaded!' + bcolors.ENDC)
这是我没有指定参数时得到的错误。
discord.ext.commands.errors.ExtensionNotLoaded: Extension 'cogs.None' has not been loaded.
我对此进行了多次修改以使其正常工作,但它仍在尝试加载 arg 的默认值。我什至尝试不使用默认值,尝试使用 NULL,尝试了各种方法,但似乎无法正常工作。
任何帮助将不胜感激。
【问题讨论】:
标签: python discord.py