我想删除我的机器人发送给任何用户的消息,当他们离开服务器时。以下是我尝试过的代码,但似乎没有任何作用......如果有人可以提供帮助,他们可以更正代码吗?
@client.event
async def on_member_remove(member, message):
#delete messages from dm
messages_to_remove = 10
async for message in client.get_user(member).history(limit=messages_to_remove):
if message.author.id == client.member.id:
await message.delete()
答案 0 :(得分:1)
如前所述,您只能删除机器人的消息。
没有直接获取私信的方法,所以我们必须自己构建函数。
看看下面的代码:
@client.event
async def on_member_remove(member):
dmchannel = await member.create_dm() # "Create" a DM
async for message in dmchannel.history(limit=10): # Async through the messages
if message.author == client.user: # Check that the author is the bot
await message.delete() # Delete 10 messages if possible