使用 python discord.py 立即删除不和谐消息
Instantly delete discord messages using python discord.py
您好,我正在尝试让此代码取消发送我的消息,而无需在服务器
中获得 delete/manage 消息的权限或角色
我试过使用“delete_after”参数,但大多数时候消息没有被删除,我不确定为什么
这是我的代码:
@client.command(pass_context=True)
async def hello(ctx):
while True:
time.sleep(int(timer))
await ctx.send("HELLO", delete_after=1)
如果达到速率限制、消息从缓存中丢失等,删除有时会失败。
参见the docs。如果删除失败,将被静默忽略。
如果您想完全确定它们已被删除,您需要保存消息并手动删除它们。如果失败,那么您将得到一个错误而不是什么都没有。
while True:
await asyncio.sleep(int(timer-DELETE_AFTER_DURATION))
message = await ctx.send("HELLO")
await asyncio.sleep(DELETE_AFTER_DURATION)
await message.delete()
旁注:使用 asyncio.sleep
,它不会阻塞您的其余代码,而不是 time.sleep
,协程中的任何地方。
您好,我正在尝试让此代码取消发送我的消息,而无需在服务器
中获得 delete/manage 消息的权限或角色我试过使用“delete_after”参数,但大多数时候消息没有被删除,我不确定为什么
这是我的代码:
@client.command(pass_context=True)
async def hello(ctx):
while True:
time.sleep(int(timer))
await ctx.send("HELLO", delete_after=1)
如果达到速率限制、消息从缓存中丢失等,删除有时会失败。
参见the docs。如果删除失败,将被静默忽略。
如果您想完全确定它们已被删除,您需要保存消息并手动删除它们。如果失败,那么您将得到一个错误而不是什么都没有。
while True:
await asyncio.sleep(int(timer-DELETE_AFTER_DURATION))
message = await ctx.send("HELLO")
await asyncio.sleep(DELETE_AFTER_DURATION)
await message.delete()
旁注:使用 asyncio.sleep
,它不会阻塞您的其余代码,而不是 time.sleep
,协程中的任何地方。