【发布时间】:2018-11-07 12:17:07
【问题描述】:
我正在编写一个用于不和谐的机器人并尝试删除消息,但只是其中一个机器人,因为我正在执行一些使他大量发送垃圾邮件的命令。 所以我发现批量删除效果很好的是
@bot.command(pass_context = True)
async def purge(ctx,msglimit : int):
deleted = await bot.purge_from(ctx.message.channel, limit=msglimit)
await bot.say("Cleared **{}** Messages".format(len(deleted)))
但是文档显示了这个命令
def is_me(m):
return m.author == client.user
deleted = await client.purge_from(channel, limit=100, check=is_me)
await client.send_message(channel, 'Deleted {} message(s)'.format(len(deleted)))
但如果有人有想法,我真的无法让它发挥作用
【问题讨论】:
-
机器人是否有适当的权限?客户端用户是否在 msglimit 中发布了任何消息? “不起作用”并没有告诉我们有关您的问题的任何信息,请具体说明。
-
Bot 拥有所有权限,因为他可以删除所有消息,但我希望第二个代码能够仅删除机器人消息
-
第二个代码怎么不起作用?追溯(发布)?消息不会删除(发布minimal reproducible example)?没什么可做的,如果你正确使用它,代码应该可以工作。
标签: python bots discord messages