Discord.py DM ALL не отправляет сообщения всем

#python #discord #discord.py

#python #Discord #discord.py

Вопрос:

Итак, у меня есть этот код. Предполагается, что DM все на сервере. Он не отправляет DM всем, а только пытается DM бота, который работает с кодом, что не удается сделать, поскольку это невозможно.

 @client.command()
async def adm(ctx, *, message):
    await ctx.message.delete()
    for user in ctx.guild.members:
        try:
            await user.send(message)
            print(f"Sent {user.name} a DM.")
        except:
            print(f"Couldn't DM {user.name}.")
    print("Sent all the server a DM.")
 

Комментарии:

1. Вам необходимо включить намерения участников.

2. И как мне это сделать?

Ответ №1:

Вероятно, это происходит потому, что вы не включили намерения привилегированного шлюза, и ваш бот не может получить всех участников. Включите Server Members Intent на сайте разработчика Discord в разделе ботов.

скриншот сайта discord

Затем добавьте это в свой код:

 intents = discord.Intents.default()
intents.members = True

client = commands.Bot(command_prefix="!", intents=intents)