Помощь по телеграм боту - создание кнопок InlineKeyboardButton

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
operlay
83
operlay  

Добрый день.

Немного поясню :

1) Каждая кнопка, будь то обычная или инлайн, это теперь самостоятельный объект KeyboardButton или InlineKeyboardButton, не забудьте обновить своих ботов!
2) В Inline-режиме все текстовые поля теперь представлены отдельными объектами InputMessageContent, которые, в свою очередь могут быть аж 4-х типов (подробности тут).

Итак, инлайн-кнопки. Что это такое? Это специальные объекты, которые "цепляются" к конкретным сообщениям и распространяют своё действие, в общем случае, только на них. Делятся такие кнопки на три типа: URL-кнопки, Callback-кнопки и Switch-кнопки.
Самыми простыми являются кнопки-ссылки (URL). Как видно из названия, их цель - просто перекидывать пользователей по определенным веб-адресам. Давайте сразу напишем обработчик, который будет на любое сообщение отвечать каким-либо текстом и предложением перейти, например, на Яндекс.

Кто-нибудь дополнял Telegram.mqh под TelegramAPI от 2016 года, афунциональностью InlineKeyboardButton?

В боте на питоне реализовано так:

@bot.message_handler(content_types=["text"])
def default_test(message):
    keyboard = types.InlineKeyboardMarkup()
    url_button = types.InlineKeyboardButton(text="Перейти на Яндекс", url="https://ya.ru")
    keyboard.add(url_button)
    bot.send_message(message.chat.id, "Привет! Нажми на кнопку и перейди в поисковик.", reply_markup=keyboard)

Инлайн-клавиатура представляет собой объект InlineKeyboardMarkup, а каждая инлайн-кнопка – это объект InlineKeyboardButton. Чтобы получилась URL-кнопка, нужно указать значения параметров text (текст на кнопке) и url (валидный веб-адрес). В результате бот пришлет нам такое сообщение (см. рис.). В целях обеспечения безопасности, перед переходом по URL-кнопкам появляется всплывающее окно, в котором видна ссылка целиком.

Пример:

пример сообщенияЕсли нажать на перейти , то происходит переход по url,  ну ли или отработает обычная текстовая команда.

Изначально брал библиотеку с местного форума. 

Если кто-нибудь расширил метод по работе не могли бы скинуть исходник или текст методов?

   string ReplyKeyboardMarkup(const string keyboard,
                              const bool resize,
                              const bool one_time)
     {
      string result=StringFormat("{\"keyboard\": %s, \"one_time_keyboard\": %s, \"resize_keyboard\": %s, \"selective\": false}",UrlEncode(keyboard),BoolToString(resize),BoolToString(one_time));
      return(result);
     }

А также  int SendMessage(input param).

Илья Ворегов
9
Илья Ворегов  
У меня мой телеграм работает нормально и на телефоне и на компьютере. 
Просто нужно скачивать его с официального сайта (ссылка удалена модератором Artyom Trishkin)
и всё будет нормально. А так я вам скажу очень удобный месенджер.
Artyom Trishkin
Модератор
53570
Artyom Trishkin  
Илья Ворегов:

Реклама сторонних ресурсов запрещена правилами ресурса.

Вам - предупреждение.

Sergey Likho
7215
Sergey Likho  
По inline кнопкам нет ответа?
operlay
83
operlay  
Sergey Likho:
По inline кнопкам нет ответа?

Пока не занимаюсь данной задачей.

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий