为什么不能使用命令前缀?

时间:2020-07-07 10:56:25

标签: python command discord discord.py discord.py-rewrite

每次尝试使用commands.Bot(command_prefix='')时,程序都会将其读取为错误。例如,在下面的代码中,它附带了

忽略命令中的异常无:discord.ext.commands.errors.CommandNotFound:命令“ -ping”不是 在命令None中发现忽略异常: discord.ext.commands.errors.CommandNotFound:命令“ ping”不是 找到

重复了几次,直到我希望机器人说的是(Pong!),然后在服务器中发送了2次或更多次...

\我认为这可能是循环的?我不确定,但是我可以使它工作一次,但是我等待的时间越长,每次使用的命令都会发送更多的响应? -它上次尝试发送了16个“ Pong” ...对此我有什么办法吗?\

我该如何解决?

from discord.ext import commands
client = commands.Bot(command_prefix='-')

@client.event
async def on_ready():
    print("Bot is ready for use...")

@client.command()
async def ping(ctx):
    await ctx.send('Pong')

client.run('TOKEN')

1 个答案:

答案 0 :(得分:1)

问题不在于您的前缀,您只是在client.command装饰符后忘记了括号:

from discord.ext import commands
client = commands.Bot(command_prefix='-')

@client.event
async def on_ready():
    print("Bot is ready for use...")

@client.command()
async def ping(ctx):
    await ctx.send('Pong')

client.run('TOKEN')

client.event装饰器没有任何参数,因此您不需要括号,但是client.command()可以具有name=brief=description=之类的参数,aliases,...,因此需要括号。 ^^