如何删除DM中的漫游器消息?

时间:2019-08-31 21:33:10

标签: python-3.x discord discord.py-rewrite

我正在用命令创建一个机器人,该命令使用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)

1 个答案:

答案 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)