我最近一直在试验不和谐机器人和不和谐 API,但我遇到了机器人事件的问题。当使用 discord.py 模块创建两个事件时,只有一个可以工作,而另一个不工作,但两者的格式完全相同。为什么会发生这种情况,我该如何解决这个问题?这是我的代码:@bot.eventasync def on_message(message): message = await bot.wait_for_message(author=message.author) if message.content.startswith('!genlifetime password'): global amount amount = message.content[len('!genlifetime password'):].strip() num = int(amount) chars = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0'] for x in range(0, num): authkey1 = '' authkey2 = '' authkey3 = '' authkey4 = '' for i in range(0,4): authkey1 = authkey1 + chars[random.randrange(0,35)] for i in range(0,4): authkey2 = authkey2 + chars[random.randrange(0,35)] for i in range(0,4): authkey3 = authkey3 + chars[random.randrange(0,35)] for i in range(0,4): authkey4 = authkey4 + chars[random.randrange(0,35)] authkey = authkey1 + '-' + authkey2 + '-' + authkey3 + '-' + authkey4 print(authkey) with open(keyfile, 'a') as f: f.write(authkey + ' LIFETIME \n')@bot.eventasync def authorize(message): message = await bot.wait_for_message(author=message.author) if message.content.startswith('!activate'): global key key = message.content[len('!activate'):].strip() print(key) bot.run("NTM3Mzk1NDQzNzAxNjQ1MzEz.DykoDA.x5PrEwxZ0hlY2TeCtKVlg1QsbfQ")当我运行我的机器人并输入!genlifetime password 10. 但是,该authorize事件根本不起作用。如果我输入 !authorize key 在 shell 中什么也不会发生。根本没有打印密钥。我什至尝试在之前打印,message = await bot.wait_for_message(author=message.author)但该打印也不会打印出来。这两个事件的格式相同,那么为什么一个有效而另一个无效呢?
2 回答
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
这些wait_for_message
调用似乎是多余的:根据文档,message
传递给回调的参数是您想要的消息。如果您要删除对的调用wait_for_message
并直接使用传入的消息,它可能会按预期工作。
添加回答
举报
0/150
提交
取消