【发布时间】:2021-11-13 18:54:47
【问题描述】:
我正在创建一个清除命令,我希望机器人在清除后确认它已清除消息。
我的代码:
@client.command(aliases=["del","delete","cl","clearmessages","deletemessages","deletemessage","clearmessage","cm"])
async def clear(ctx, amount=5):
if ctx.message.author.guild_permissions.manage_messages:
await ctx.channel.purge(limit=amount+1)
msg = await ctx.send(f"{amount} messages have been deleted!")
import asyncio
asyncio.sleep(15)
await msg.delete()
else:
await ctx.send("Your don't have manage messages perms!")
我还希望机器人在一段时间后删除自己的消息
【问题讨论】:
-
msg.delete() 有一个延迟参数。但这也应该有效,尽管我发现导入内部函数很奇怪。除非您有特定原因,否则在文件顶部使用导入。
-
你能说清楚问题是什么吗?你得到什么错误,发生了什么,应该发生什么?此外,
send()函数中有一个关键字delete_after,您可以使用它在 n 秒后自动删除消息。 Reference -
我使用命令时它不起作用,尝试自己运行它
标签: python discord discord.py bots