@twink132

Реализация переотправки сообщения из бота в чат (просто текст ИЛИ фото с текстом в caption) каким образом?

делаю небольшого бота , постанова задачи следующая:
Сделать бота который в зависимости от нажатой кнопки меняет chat_id (имя канала) и переотправляет обращения из бота в канал.
Все работает, в зависимости от кнопки id меняется, и ТЕКСТОВЫЕ сообщения шлются в нужный канал.
Но мне нужно сделать так чтобы пользователь мог отправить от своих предпочтений Картинку (с подписью в картинке с вопросом) либо Текст и оно отправлялось, Сейчас отправляется только текст, не понимаю как реализовать проверку данных в хэндлере чтобы он в зависимости от вида данных отправлял фото с текстом либо просто текст.

Ниже прикладываю реализацию функции:
Она вызывается после выбора кнопки в инлайн клавиатуре после присвоения ID канала.
@bot.message_handler(func=lambda message: True) ##Пересылка сообщений в канал
def echo_message(message):
    
    bot.send_message(chat_id=chat_id, text=message.text+"\n\nЗапрос от монтера - #"+message.from_user.first_name)
    bot.send_message(message.chat.id, "Для создания нового обращения введите команду /start")


Получилось наработать отдельную функцию которая просто шлет обратно картинку (эхо бот). Но она лишь только шлет фото самому себе (с бота в бот), а пересылать в канал не хочет.
И другой вопрос возможно все будет собрать в одной функции (def echo_message) пересылка текстовых обращений и пересылка фотографий с текстом (текст будет идти в caption).
@bot.message_handler(content_types = ['photo']) ##фотки эхо
def echo_photo(message):
    global chat_id
    chat_id = '@xxx'
    bot.send_photo(message.chat.id, message.photo[0].file_id, message.caption)
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Но она лишь только шлет фото самому себе

Проверьте, куда вы отправляете изображение в методе send_photo
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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