我是Python的新手,我正在使用discord.py rewrite,python 3.7编写一个discord bot。我键入了一个命令,但机器人似乎完全忽略了它,并没有给我任何错误。
@client.command(pass_context = True)
async def poll(ctx, polltopic, *pollquestions):
print("Poll command activated.")
reactions = [":one:", ":two:", ":three:", ":four:",":five:",":six:", ":seven:", ":eight:", ":nine:", ":ten:"]
number = 0
await ctx.send("**POLL:** "+str(polltopic))
for x in pollquestions:
await ctx.send(str(reactions[number])+" "+str(x))
number = number+1
用于调试的打印功能在输出中不显示任何内容。正如其他网站建议我做的那样,我说:
await client.process_commands(message)
在on_message函数的末尾。它仍然完全忽略了命令,并没有给我任何错误。这个问题可能正好盯着我,但我没有看到。
我发现了错误:它与命令语法本身无关。我有一个return
函数提前离开on_message
函数,然后它到达await client.process_commands(message)
,所以机器人忽略了命令。