$sql = "SELECT COUNT(finished) AS count_finished FROM timestamps_sessions";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
echo $exercise['clears'] = $row['count_finished'];
我已经尝试了很多不同的方法,但是它只是行不通,这是第5行中的代码重复出现。如果需要,我可以发送错误
答案 0 :(得分:0)
我不太确定重复消息的全部内容,因为我没有收到消息,因此请检查您是否在后台运行了多个机器人实例。
您的当前状态代码不会添加角色,它只是创建一个协程以添加角色。
此外,由于time.sleep(1)
被阻止(这将阻止您的机器人在暂停状态下执行的所有其他功能和事件),因此您应将所有await asyncio.sleep(1)
替换为time.sleep()
要使用您的addrole()
协程,您需要将其拉出并在on_message
事件中等待它
所以最终看起来像是
@bot.event
async def on_message(message):
if message.content.upper().startswith(">>AEROSPACE"):
await asyncio.sleep(1) #
botmessage = await bot.send_message(message.channel, "<@"+message.author.id+"> " + "**your role has been added.**")
await addrole(message)
await asyncio.sleep(1.5) #
await bot.delete_message(message)
await asyncio.sleep(1.5) #
await bot.delete_message(botmessage)
async def addrole(message):
member = message.author
server = message.server
role = get(server.roles,name="Aerospace")
await bot.add_roles(member, role)