Как удалить всех модераторов в discord с помощью discord.py, не только один?

#python #discord #discord.py #bots

Вопрос:

У меня есть этот код:

 async def report(ctx, member: discord.Member,  *, arg):
    role = ctx.guild.get_role(9999999999999) # Imagine that 9999999999999 is moderator role id
    members = ctx.guild.members
    await ctx.channel.send('Your complaint was sent to moderators!', delete_after=10)
    for i in role.members:
        await i.send(f'{ctx.author.mention} sent a complaint on {member.mention} with reason:n**{arg}**')
        await ctx.message.delete()
 

Проблема в том , что, когда я пишу $report @user reason , только один модератор получает этот отчет в личных сообщениях, а не все. На сервере 3 модератора, и по какой-то причине только один получает сообщение в DM, а не все 3 модератора.
Как это исправить? Я был бы очень благодарен за помощь.

Ответ №1:

await ctx.message.delete() Выньте его из своего цикла for. Если сообщение удалено, и вы пытаетесь удалить его снова, оно выдаст ошибку.