@Miwa122op1

Почему бот не отправляет сообщение в ЛС?

@bot.command()
async def members(self, ctx, message):
    for member in ctx.guild.members:
        user = await self.bot.fetch_user(user_id=member.id)
        if not user.bot:
            await user.send(message)

Сама ошибка
Traceback (most recent call last):
  File "C:\Users\Msi_Pc\PycharmProjects\PythonGame\venv\lib\site-packages\discord\ext\commands\bot.py", line 1349, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\Msi_Pc\PycharmProjects\PythonGame\venv\lib\site-packages\discord\ext\commands\core.py", line 1015, in invoke
    await self.prepare(ctx)
  File "C:\Users\Msi_Pc\PycharmProjects\PythonGame\venv\lib\site-packages\discord\ext\commands\core.py", line 932, in prepare
    await self._parse_arguments(ctx)
  File "C:\Users\Msi_Pc\PycharmProjects\PythonGame\venv\lib\site-packages\discord\ext\commands\core.py", line 839, in _parse_arguments
    transformed = await self.transform(ctx, param, attachments)
  File "C:\Users\Msi_Pc\PycharmProjects\PythonGame\venv\lib\site-packages\discord\ext\commands\core.py", line 691, in transform
    raise MissingRequiredArgument(param)
discord.ext.commands.errors.MissingRequiredArgument: message is a required argument that is missing.
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
ghqstlysoul
@ghqstlysoul
Discord: ghostly#0069
Он не отправляет сообщение в лс, так как его не существует

Покажу варианты рабочего кода:

1. Отправление конкретного сообщения через переменную, человеку который написал команду.

@bot.command()
async def members(self, ctx):
    message = "Тут укажите сообщение"
    await ctx.author.send(message)


2. Отправление сообщения другому пользователю, указав пользователя и сообщение через отправку команды.

@bot.command()
async def send(self, ctx, user: discord.Member, message: string):
    await user.send(message)


Тем самым, написав в чат !send @линк ты бебрик чел) он получит своё сообщение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы