我正在用命令创建一个机器人,该命令使用DM中所有先前执行的命令发送文件,但是我找不到删除机器人消息的方法。有办法做到吗?还是根本不可能?
我已经尝试针对此特定情况做出明确的命令,我已经尝试过:https://www.reddit.com/r/Discord_Bots/comments/c1tf6t/dm_message_deletion_scriptbot/
但这对我不起作用。
reddit代码:
@client.command()
async def clear_dm(ctx):
user_dm = (client.get_user(610774599684194307)).dm_channe
messages_to_remove = 1000
async for message in user_dm.history(limit=messages_to_remove):
if message.author.id == client.user.id:
await message.delete()
await asyncio.sleep(0.5)
应该删除bot消息,但是当我运行命令时,我得到一个异常AttributeError: 'ClientUser' object has no attribute 'dm_channel'
,我尝试过的其他方法也出现了类似的错误(但是由于我已经删除了代码,所以我无法向您显示代码)它:c)
答案 0 :(得分:0)
User
有一个User.history
attribute,您可以直接使用。
@client.command()
async def clear_dm(ctx):
messages_to_remove = 1000
async for message in client.get_user(610774599684194307).history(limit=messages_to_remove):
if message.author.id == client.user.id:
await message.delete()
await asyncio.sleep(0.5)