@LimeGeeg

Можно ли как-то переотправить картинку через discord.py, которую отправил пользователь?

Можно ли как-то переотправить картинку через discord.py, которую отправил пользователь?
Например, я отправил картинку боту, а он переотправил ее другому пользователю в личные сообщения.
  • Вопрос задан
  • 557 просмотров
Решения вопроса 1
@RuslanUC
Пропишите этот код в функцию on_message:
if message.attachments:
    files = []
    for attachment in message.attachments:
        files.append(await attachment.to_file())
    if files:
        user = await bot.fetch_user(user_id) # получение пользователя
        dm = await user.create_dm() # получение лс
        await dm.send(files=files)


Замените user_id на айди пользователя, кому нужно пересылать картинки (у пользователя должны быть разрешены сообщения от всех пользователей в настройках дискорда).
Код выше будет пересылать все файлы, которые будет получать бот (в том числе файлы, отправленные на серверах). Чтобы пересылать только картинки, нужно проверять тип файла и код будет выглядеть так:
if message.attachments:
    files = []
    for attachment in message.attachments:
        try:
            if attachment.content_type.startswith("image/"):
                files.append(await attachment.to_file())
        except:
            continue
    if files:
        user = await bot.fetch_user(user_id) # получение пользователя
        dm = await user.create_dm() # получение лс
        await dm.send(files=files)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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