Как вшить кнопку в пост Телеграм

Изучая тему «Создание Telegram бота на PHP», мы уже научились делать так, чтобы в ответ на определённое сообщение, или команду, бот отправлял в чат текстовые сообщения, файлы, картинки и видео.

Но для более лучшего взаимодействия с пользователем, иногда лучше разработать меню, или кнопки. Так человеку не придётся запоминать и набирать команды для бота вручную. Ему будет достаточно выбрать тот вариант, который его интересует и кликнуть по кнопке, или по нужному пункту меню.

В этом уроке мы рассмотрим пример создания кнопок в Telegram боте на PHP и объединим весь тот код, который изучили ранее. То есть, мы научим нашего бота отправлять пользователю текстовое сообщение, файл, картинку, или видео, если он нажмет на ту или иную кнопку.

Создание меню из кнопок в Telegram

Для создания кнопочного меню в Телеграм боте можно написать следующий код:

// кнопки меню (2 ряди по 2 кнопки) $keyboard = [ [ [‘text’ => ‘Кнопка 1’], [‘text’ => ‘Кнопка 2’], ], [ [‘text’ => ‘Кнопка 3’], [‘text’ => ‘Кнопка 4’], ] ]; $reply_markup = json_encode([«keyboard»=>$keyboard,»resize_keyboard»=>true]); // Відповідь на текстове повідомлення // Отримуємо текст, який відправив користувач Телеграм боту в месенджері if (!empty($data[‘message’][‘text’])) < $text = $data[‘message’][‘text’]; // Виводимо кнопки в Telegram, якщо користувач ввів команду /menu if (mb_stripos( $text, ‘/start’) !== false) < sendTelegram( ‘sendMessage’, [‘chat_id’=>$data[‘message’][‘chat’][‘id’], ‘text’=>’Це кнопкове Меню бота’, ‘reply_markup’=>$reply_markup ] ); exit(); > > ?>

Здесь, мы создаём кнопки, которые нужно показать пользователю в Телеграм, этим фрагментом кода:

Как сделать пост с кнопкой в Telegram


// кнопки меню (2 ряди по 2 кнопки) $keyboard = [ [ [‘text’ => ‘Кнопка 1’], [‘text’ => ‘Кнопка 2’], ], [ [‘text’ => ‘Кнопка 3’], [‘text’ => ‘Кнопка 4’], ] ]; $reply_markup = json_encode([«keyboard»=>$keyboard,»resize_keyboard»=>true]);

А отправляем эти кнопки Телеграм боту, вот этой строкой кода:

‘reply_markup’=>$reply_markup

Реакция на нажатие кнопок Телеграм бота

Теперь давайте сделаем так, чтобы если человек нажмёт на кнопку, то в ответ ему приходило какое-нибудь сообщение. Например, «Вы нажали на кнопку 1», «Вы нажали на кнопку 2» и т.д.

Когда человек нажимает на кнопку №1, то боту отправляется сообщение «Кнопка 1». Соответственно, мы можем отследить текст этого сообщения и в ответ прислать свой текст (это мы уже проходили в уроке №2 «Отправка и получение сообщений»).

Еще по теме:  Есть ли платный канал в Телеграм с помощью которого можно проверять текст на ошибки

Пример кода

if (!empty($data[‘message’][‘text’])) < $text = $data[‘message’][‘text’]; // Виводимо кнопки в Telegram, якщо користувач ввів команду /menu if (mb_stripos( $text, ‘/start’) !== false) < sendTelegram( ‘sendMessage’, [‘chat_id’=>$data[‘message’][‘chat’][‘id’], ‘text’=>’Це кнопкове Меню бота’, ‘reply_markup’=>$reply_markup ] ); exit(); > else if (mb_stripos( $text, ‘Кнопка 1’) !== false) < sendTelegram( ‘sendMessage’, array( ‘chat_id’ =>$data[‘message’][‘chat’][‘id’], ‘text’ => ‘Ви натиснули кнопку №1’ ) ); exit(); > >

То есть мы взяли код из нашего урока по отправке и получению сообщений Телеграм боту (см. Урок №2) и подставили его в конструкцию If…Then…Else If.

Таким же образом давайте сделаем с получением картинок, файлов и видео. Но предварительно давайте поменяем название наших кнопок на «Send text», «Send picture», «Send file» и «Send video». Так будет намного понятнее для чего предназначена каждая из этих кнопок.

Итоговый код Телеграм бота

Теперь, если пользователь нажмёт на соответствующую кнопку, то от Telegram бота он получит текстовое сообщение, файл, картинку, или видео.

То же самое будет происходить, если человек отправит текстовые сообщения боту в чате: «Send text», «Send picture», «Send file», «Send video».

Примечание.

Инлайн-кнопки

В канале Telegram есть возможность добавить инлайн-кнопки. Такие кнопки будут отображаться не под полем ввода, а над.

Возможность добавить инлайн-кнопки есть только в Telegram, другие каналы такую функциональность не поддерживают.

Обычные кнопки располагаются под полем ввода текста («Написать сообщение…»). Количество кнопок в строке определяется автоматически, в зависимости от количества кнопок и объема текста в них. На одном экране может быть не более восьми кнопок:

Инлайн-кнопки располагаются над полем ввода текста:

Как использовать инлайн-кнопки?

Возьмем, к примеру, такой экран. Изначально кнопки на нем будут отображаться в Telegram как обычные кнопки:

Есть два способа превратить эти обычные кнопки в инлайн-кнопки.

Добавить на нужный экран кнопку со ссылкой

Чтобы обычные кнопки превратились в Инлайн-кнопки, добавьте на этот же экран хотя бы одну кнопку-ссылку. Например, вы можете ссылку на ваш сайт.

  • нажмите + КНОПКА
  • введите название кнопки и нажмите Enter
  • нажмите на значок ссылки
  • вставьте URL на нужный ресурс
  • нажмите Сохранить

После этого нужно нажать Опубликовать, чтобы изменения пришли в канал. Дождитесь всплывающего сообщения о том, что сценарий был опубликован на канале Telegram.

После публикации снова протестируйте бота. В нашем случае кнопки располагаются на стартовом (самом левом и самом верхнем) экране, поэтому, чтобы проверить, пошлем боту /start .

Добавить «пустую» кнопку

Второй способ подойдет вам, если кнопка-ссылка не подходит для вашего сценария.

  • нажмите + КНОПКА
  • наберите пробел и нажмите Enter. Текст кнопки будет содержать только один символ — пробел
  • нажмите на значок ссылки, вставьте любую ссылку
  • нажмите Сохранить
Еще по теме:  Не работает функция люди рядом в Телеграмме

Нажмите Опубликовать и дождитесь сообщения о публикации в канал.

Затем пройдите ветку заново. Например, пошлите боту /start .

Обычные кнопки превратятся в Инлайн-кнопки, а кнопка, которая содержит только символ пробела, отображаться не будет.

Как запомнить выбор пользователя

Вы можете получить текст выбранной инлайн-кнопки в Telegram через переменную $queryText . Для этого после блока с инлайн-кнопками добавьте блок Условия и сохраните значение $queryText в новую переменную $choice через выражение $choice = String($queryText).split(‘;’)[1] .

Особенности канала Telegram

Есть некоторые особенности отображения кнопок, которые нужно учитывать.

  1. Не всегда сразу же можно увидеть новый вариант кнопок. Иногда нужно пройти по другой ветке бота, затем послать /start и вернуться на экран с кнопками.
  2. Если у вас есть два экрана, которые идут друг после друга, и на первом экране обычные кнопки, а на втором инлайн-кнопки, то при перехода на экран с Инлайн-кнопками, обычные кнопки не исчезнут.

К примеру, возьмем два таких экрана. На экране, выделенном синим, обычные кнопки. На экране, выделенном зеленым, Инлайн-кнопки.

После нажатия на кнопку «цены» бот перейдет на второй экран, на котором должны отображаться Инлайн-кнопки. Но из-за особенностей канала, обычные кнопки не исчезнут.

Вы можете пользоваться таким поведением, если для вас даже удобно отображать два вида кнопок. Либо, если для вас такое поведение неудобно, разделяйте экраны с обычными кнопками от экранов с Инлайн-кнопками другими экранами текста с интентами вместо кнопок, чтобы не было такой последовательности.

Источник: help.aimylogic.com

Все способы как сделать гиперссылку в Телеграме в 2023 году

Способы, как вставлять ссылку в текст в Телеграме, бывают разными. Самое простое — скопировать URL, вклеить в сообщение и отправить адресату. Но, если хочется оформить пост на канале эстетичнее, лучше спрятать ссылку в слово или фразу. Тогда переход на сторонний сайт будет осуществлять нажатием на выделенный элемент в мессендже.

Как сделать гиперссылку в Телеграме

Разработчики мессенджера добавили возможность в Телеграме сделать ссылку словом или фразой. Опция доступна на всех платформах — и на телефонах Android или iOs, и на компьютере.

На телефоне

В мобильной версии мессенджера для добавления гиперссылки в текст действуют следующим образом:

  1. Запускают приложение. Находят чат, группу или канал, в котором хотят заменить ссылку на слово или фразу.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  2. Вписывают текст в диалоговое окно.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  3. Выделяют элемент, который будет отображать скрытый URL, долгим тапом. Нажимают на точки в правом углу в верхней части экрана.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  4. Выбирают в меню «Добавить ссылку».
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  5. В открывшемся окне вставляют в адресное поле URL из буфера обмена.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  6. Если хотят скрыть из поста отображение активной ссылки, нажимают на крестик в углу. Отправляют, тапнув на стрелочку.
    Все способы как сделать гиперссылку в Телеграме в 2023 году

Теперь подписчики канала или собеседники в чате вместо громоздкого поста увидят красивую короткую гиперссылку. При нажатии на подчеркнутые слова или фразы появится запрос перехода на другой сайт.

Еще по теме:  Телеграмм установить на компьютер линукс

На компьютере

Добавить ссылку в текст можно и в десктопном приложении на ноутбуке или стационарном ПК. Для этого действуют по такому алгоритму:

  1. Запускают приложение. Открывают чат, группу или канал. Вписывают в диалоговом окне слово, которое должно скрыть гиперссылку.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  2. Выделяют правым кликом мыши элемент. Нажимают на клавиатуре кнопки «Ctrl+K».
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  3. В появившееся окно копируют адрес из буфера обмена.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  4. Нажимают на крестик, чтобы убрать отображение превью сайта.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  5. Кликают на синюю стрелочку для отправки.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  6. Результат появится в виде красиво оформленной гиперссылки.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
    Все способы как сделать гиперссылку в Телеграме в 2023 году

При вводе комбинации клавиш, вызывающих окно для вставки URL, используют английскую букву «K». При этом неважно, какой языковой режим установлен на компьютере в данный момент.

Изменяем добавленную ссылку

Если пользователь ошибся — неправильно ввел адрес сайта или URL оказался битым и ссылка в Телеграм не открывается, необходимо отредактировать сообщение. Чтобы изменить гиперссылку, выполняют следующие шаги:

  1. Выделяют сообщение, которое необходимо изменить. Нажимают в верхнем поле контекстного меню значок в виде карандаша.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  2. Так же, как и в случае, когда нужно вставить URL, нажимают на 3 точки в углу экрана и выбирают «Добавить».
    blobid1661257731844.jpg

Далее стирают старые данные в окне ввода и вставляют новые. При желании, можно изменить исходный текст поста.

Сокращаем ссылку в Telegram

Необязательно добавлять гиперссылку. Иногда, чтобы пост выглядел эстетичнее, достаточно просто сократить слишком длинный и громоздкий URL. Сделать это легко с помощью бота:

  1. Открывают приложение на смартфоне или ПК.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  2. Запускают поиск по запросу «сократить ссылку».
  3. Выбирают любого робота. Нажимают на кнопку «Старт». Вводят в тескстовое поле длинный адрес из буфера обмена.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  4. Бот автоматически отправляет в ответ короткий URL.
    Все способы как сделать гиперссылку в Телеграме в 2023 году

Полученное сокращение действует только в Телеграмме. На других ресурсах использовать этот короткий адрес не получится.

Как сделать ссылку кнопкой

Владельцы каналов стараются максимально привлечь внимание подписчиков. Разработчики Telegram добавили в мессенджер различные инструменты, позволяющие улучшить интерфейс блога. Как красиво оформить пост показано на примере размещения под картинкой кнопки-ссылки.

Далее переходят к привязке кнопки. Для этого используют только что созданного бота:

  1. Открывают диалог с роботом и запускают программу.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  2. Нажимают в меню «Создать пост».
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  3. Выбирают канал.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  4. Устанавливают режим форматирования.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  5. Отправляют текстовое сообщение или фото для поста, выбирают «Создать кнопку».
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  6. Выполняют инструкции, введя описание элемента и адрес, на который осуществляется переход.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  7. Отправляют сообщение боту.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  8. Нажимают «Далее».
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  9. Выбирают, нужно ли разместить пост сразу или отложить публикацию.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  10. Для перехода на канал тапают на «Посмотреть».
    blobid1661258296797.jpg
  11. Проверяют корректность данных, нажав на кнопку.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
  12. Если все сделано верно, откроется окно со ссылкой. После нажатия на URL пользователь будет перемещен на сторонний сайт.
    Все способы как сделать гиперссылку в Телеграме в 2023 году
Рейтинг
( Пока оценок нет )
Загрузка ...