делаю небольшого бота , постанова задачи следующая:
Сделать бота который в зависимости от нажатой кнопки меняет 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)