Как реализовать данные задачи на Python?

Сегодня начал делать своего второго Telegram бот, пишу естественно на Python, без использования сторонних библиотек.

В процессе разработки, столкнулся с некоторым задачами, с большинством из них справился, но некоторые остались неподвластны моим небольшим знаниям в данной сфере.

1 Задача
Имеется следующий код:

@bot.message_handler(commands = ['url'])
def url(message):
    markup = types.InlineKeyboardMarkup()
    btn_my_site= types.InlineKeyboardButton(text='Написать ей', url='https://habrahabr.ru')
    markup.add(btn_my_site)
    bot.send_photo(message.chat.id, get("https://im0-tub-ru.yandex.net/i?id=ad7b5dc2baef00695b93f71305f81888-l&n=13").content, reply_markup=main4())
    bot.send_message(message.chat.id, "Татьяна, 22 года.", reply_markup = markup)


Описание проблемы и вопроса: На сколько вы могли понять, это кнопка формата url, мне нужно сделать так чтобы после запуска команды бот выводил (текст, фото, кнопку url) и все это в одном сообщении. Сколько не пытался не смог сделать данную вещь. Жду вашей помощи, заранее спасибо)

2 Задача

Имеется следующий код:

@bot.message_handler(content_types=['text'])
def cont(message):
    if message.text == 'Смотреть анкеты':
        bot.send_message(message.chat.id,"Текст", reply_markup=markup)


Описание проблемы и вопроса: Требуется сделать так чтобы бот при обнаружении сообщения 'Смотреть анкеты' выводил анкету из впороса выше. Заранее спасибо за ответы)

Извиняюсь, за такую небольшую наглость, но сколько бы я не искал в Google ничего не находил стоящего. Уже просто нет сил, весь интернет сегодня перерыл ничего не нашел.
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 2
bot.send_photo(message.chat.id, get("https://im0-tub-ru.yandex.net/i?id=ad7b5dc2baef00695b93f71305f81888-l&n=13").content, reply_markup=main4())
    bot.send_message(message.chat.id, "Татьяна, 22 года.", reply_markup = markup)

Странно, и почему же двумя разными сообщениями оно шлётся?)

Просто вставляй картинку в виде html-ссылки в текстовое сообщение. Естественно, нужно ещё включить режим парсинга разметки в html.
"Без сторонних библиотек" это делается через параметр parse_mode метода sendMessage
А вот так должна выглядеть ссылка:
<a href="тут ссылка на картинку">&#8205;</a>

Вообще, это хак, тк тут эксплуатируется особенность телеги, что к сообщению прикрепляется превьюшка содержимого ссылки. А в случае с картинкой, эта превьюшка достаточно большая, чтобы её комфортно можно было смотреть
Ответ написан
Комментировать
@MEDIOFF
Python Developer
1 Задача: Как видно из вашего кода вы не пытались и не искали в Google ничего, потому что если бы вы просто потому что если бы вы зашли к документации к методу bot.send_photo той библиотеки которую вы НЕ ИСПОЛЬЗУЙТЕ, то увидели бы аргумент caption или похожий, и reply_markup и вопросы у вас бы такие не возникали.
2 Задача: Ну точно так же просто отправляйте это сообщение как и в обработчике выше, в чем проблема то?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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