Задать вопрос
@aygizyulbarisov
Учусь программированию

Как сделать так, чтобы бот отправлял фото, который я ему отправил?

Пользуюсь библиотекой pyTelegramBotAPI.
Написал бота и пишу для него админ панель. Мне нужно чтобы бот отправил фото user-ам фото который я ему отправил в сообщение. Код примерно такой:
bot.send_message(call.message.chat.id,'Введите сообщение который хотите разослать:')
            bot.register_next_step_handler(call.message, text)
def text(message):
    for i in open('user.txt', 'r').readlines():
        bot.send_message(i, '{}'.format(message.text))


это код чтобы разослал текст user-ам который я отправил боту

А для фото я писал такой код:

open('photo/photo_' + str(q) + '.jpg', 'rb')
        message.photo[-1].download('photo/photo_' + str(q) + '.jpg')
        bot.send_photo(i, open('photo/photo_' + str(q) + '.jpg', 'rb'), caption = str(message.caption))
  • Вопрос задан
  • 884 просмотра
Подписаться 1 Простой 2 комментария
Решения вопроса 1
@HXNDY
import telebot
import config

bot = telebot.TeleBot(
    token=config.token
)

@bot.message_handler(content_types=["photo"])
def get_photo(message):
    bot.send_photo(message.from_user.id, message.photo[0].file_id, message.caption)


if __name__ == "__main__":
    bot.infinity_polling()


С помощью send_photo() мы можем отправлять фото. Требуется ввести айди чата, в моем случае это message.from_user.id и айди фото message.photo[0].file_id)

Если к фото был приложен текст и нужно, чтобы бот тоже его приложил, то необходимо дописать message.caption
Но можно и не писать!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы