@client.command(pass_context=True)
async def coolest(ctx):
await client.send_message(message.channel, 'Say hello')
msg = await client.wait_for_message(author=message.author, content='hello')
await client.send_message(message.channel, 'Hello.')
它不起作用。而且没有错误出现。我尝试了不同的方式,并在on_message中完成了操作。但是不知道为什么它在client.commands中不起作用。帮助。
答案 0 :(得分:0)
在整个协程中,您指的是message
。将所有这些引用从message
更改为ctx.message
@client.command(pass_context=True)
async def coolest(ctx):
await client.send_message(ctx.message.channel, 'Say hello')
msg = await client.wait_for_message(author=ctx.message.author, content='hello')
await client.send_message(ctx.message.channel, 'Hello.')
除非在封闭的范围内定义了message
,否则您应该会看到一个错误。您应该仔细检查所有必须处理的错误处理代码,以确保它不会抑制意外的错误消息。