我做了我的第一个discord bot,它的作用是监听名为T[1]
的命令并清除其执行通道中的所有消息。
但是,就像我其他朋友的机器人一样,该机器人功能失调了。这可能是Heroku,但我对此表示怀疑吗?我可能需要一个break语句,但是不确定。我也试图在多个服务器上运行它,因此我希望布尔变量为每个名称具有服务器ID。
由于不起作用,我的意思是它将不再删除邮件,并且在运行我认为的命令后向您发送垃圾邮件时会出现故障。它可能与+purge
变量有关。
isActive
答案 0 :(得分:0)
await ctx.channel.purge(limit=999)
不需要放入while循环,因为该函数已经使用了自己的循环来删除isActive
声明为全局变量以来,布尔值的状态保存在范围之外,从而导致该函数每调用一次便运行一次isActive
布尔值的概念进行分类,因为函数下面的代码在被调用后会自动变为活动状态。@bot.command(pass_context=True)
@has_role("Guild Master")
async def purge(ctx):
await ctx.channel.purge(limit=999)
编辑:如果我们要删除频道中发送的每条消息,可以使用on_message
侦听器,如下所示:
@commands.Cog.listener()
async def on_message(message):
if message.channel == noMessageChannel:
await message.delete()