#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. Если сообщение удалено, и вы пытаетесь удалить его снова, оно выдаст ошибку.