Отправить картинку с текстом в python телеграмм бот
Я только начал изучать python и не могу найти решения как отправить мне текст с картинкой в телеграмме. Пробовал вот так
@bot.message_handler(commands=["start"])
def welcome(message):
global num_start
num_start += 1
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
keyboard.add(*[types.KeyboardButton(name) for name in ['? Кнопка 1', '? Кнопка 2', '? Кнопка 3', 'Кнопка 4']])
bot.send_message(message.chat.id, open('static/welc.webp', 'rb'),\n '✌️ Приветствуем Вас, ' + '' + message.chat.first_name + '' + '!\n\n'
'? Bit+Coin - это моментальный обмен Bitcoin на Qiwi, Сбербанк,'
' Яндекс.Деньги и Webmoney\n\n'
'❕А так же бесплатное хранилище Ваших BTC\n\n', reply_markup=keyboard, parse_mode="Html")
Вставил вот такой код в bot.send_message(message.chat.id,
open('static/welc.webp', 'rb'),
Но чего не происходит, как правильно сделать что бы отправлял фото и текст в одном посту.
Ответы (2 шт):
Автор решения: MyZik
→ Ссылка
Для отправки фотографий используйте метод send_photo:
@bot.message_handler(commands=["start"])
def welcome(message):
global num_start
num_start += 1
text = f"✌️ Приветствуем Вас, {message.chat.first_name}!\n\n" \
f"? Bit+Coin - это моментальный обмен Bitcoin на Qiwi Сбербанк Яндекс.Деньги и Webmoney\n\n" \
f"❕А так же бесплатное хранилище Ваших BTC\n\n"
keyboard = types.ReplyKeyboardMarkup(resize_keyboard=True, row_width=2)
keyboard.add(*[types.KeyboardButton(name) for name in ['? Кнопка 1', '? Кнопка 2', '? Кнопка 3', 'Кнопка 4']])
with open('static/welc.webp', 'rb') as photo:
bot.send_photo(message.chat.id, photo, caption=text, reply_markup=keyboard, parse_mode="HTML"
Автор решения: FINN
→ Ссылка
Заходишь к боту: @HostImgBot Отправляешь ему нужное фото, в ответ получишь ссылку на фото Или сам закидываешь на любой хостинг к примеру ВК, кликнешь ПКМ и выбираешь копировать ссылку
text = 'blablabla'
img = 'ссылка'
bot.send_message(message.chat.id, f'{text}\n{img}')
