Блог и база знаний сервиса
Настройка меню для Телеграм бота в BOT MARKET
Опубликовано: 03.05.2025 Обновлено: 03.05.2025

Меню в Telegram-боте представляет собой набор кнопок, которые могут перенаправлять пользователей в другие меню с кнопками, отправлять различные виды контента (например, текст, изображения, видео или стикеры) или направлять на ссылки — как внутри бота (например, с помощью UTM-меток), так и внешние (на каналы, чаты или сайты).

Настройка меню для Телеграм бота в BOT MARKET

Базовые настройки меню

Настройки основного меню.


Настройки основного меню.-1

На скриншоте показано, где находится управление основным меню(оно распространяется на всего вашего бота, если не добавлять специальные тонкие настройки, но об этом ниже) для вашего бота.


Справа находится настройка управлением основным меню. В нашем случае это создание кнопок для нашего меню и управление размещением кнопок. Пока все выглядит легко? - Продолжим.

Управление меню.

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


При нажатии на кнопку – “управление” мы увидим 2 кнопки

РЕЖИМ РАБОТЫ МЕНЮ и УДАЛИТЬ МЕНЮ. Если с последним все понятно, то РЕЖИМ РАБОТЫ МЕНЮ очень важная тема, разберем ее ниже.

Управление меню.-1

Если мы нажмем на РЕЖИМ РАБОТЫ МЕНЮ, то увидим 3 режима

Управление меню.-2
  1. Меню у сообщения(inline) - находится возле сообщения и имеет полупрозрачный вид. Для корректной работы, должно быть создано событие - [TELEGRAM] Событие нажатия встроенной кнопки. Без данного события клики на кнопки будут игнорироваться ботом.


Где настроить событие нажатия встроенной кнопки? – в меню событий слева в навигационном меню.(см скрин)

Управление меню.-3

Отправлять сообщение каждый раз – при любом нажатии на inline кнопку отправляется новый чат в боте.


Редактировать сообщение – В чате бота обновляется сообщение без отправки нового чата в боте.


  1. Cтатичное меню (Reply) - располагается внизу диалога с ботом. При клике на кнопки отправляются новые сообщения. — это набор кнопок, который появляется вместо клавиатуры пользователя. Эти кнопки отправляют заранее заданные сообщения боту, как будто пользователь их набрал вручную. Они удобны для выбора вариантов ответа.


Статичное меню обладает своими настройками, например спрятать его после нажатия или сделать кнопки в вашем боте немного меньше(смотри скриншот). Данная настройка находится в ”управлении”

Управление меню.-4
  1. Удаление статичного меню (delete reply) - удаляет меню из чата где ведётся диалог с ботом. Так как статичное меню имеет особенность сохраняться в диалоге до его автоматического удаления.


Примеры меню:

Cтатичное меню (Reply) и ) Меню у сообщения(inline)

Управление меню.-5

Добавление мультиязычности в телеграм бот.

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


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


Разберем как это сделать.

Добавление мультиязычности в телеграм бот.-1
  1. Для начала вам нужно выпустить компонент мультиязычности слева в навигационном меню. Выбрать интересующие вас языки и добавить их.


  1. Далее выпускаем меню, в моем случае это будет в свободной кнопке профиля и создаем событие, чтобы наша кнопку в дальнейшем можно было настроить специальное событие (во вкладке “события” в навигации)
Добавление мультиязычности в телеграм бот.-2
  1. Следующим шагом у нас будет выпуск сценария для наших меню и тут надо определиться какое меню у нас будет либо inline либо reply, мы сделаем пример для двух сразу, чтобы было видно наглядно. Мультиязычное меню будем делать на примере бота https://t.me/MULTI_LANGUAGE_BOT_MARKTE_BOT


  1.  Мы создаем сценарий для смены языка, пример на фото ниже.


Первый пример – для встроенного меню сценария или свободного сообщения

Добавление мультиязычности в телеграм бот.-3

Второй пример для статичного меню.

Добавление мультиязычности в телеграм бот.-4
  1. Кнопки для смены языка на русский или английский мы делаем с событием мультиязычности. (смотри скриншот ниже), данный пункт одинаков, как для reply, так и для inline меню
Добавление мультиязычности в телеграм бот.-5
  1. Общие настройки мультиязычности для reply и inline меню.


После того как вы создали событие в сценарии (смотри пункт b) у вас должно появиться одноименное событие (во вкладке “события” в навигации)


Пример как это выглядит:

Добавление мультиязычности в телеграм бот.-6

Далее настраиваем действия для этого события, а именно соединяем сценарий (пункт d) с этим событием и сохраняем.


  1. Т.к у нас меню с использованием мультиязычности действия для наших событий и в том числе кнопки в боте тоже должны быть переведенными, для этого мы должны в нашем компоненте мультиязычности правильно настроить переводы наших кнопок, Нельзя полностью доверять нашему автопереводчику и поэтому лучше поправить переводы вручную
Добавление мультиязычности в телеграм бот.-7
  1. После того как вы убедились, что перевод верен, мы опять переходим в события и возвращаемся, где остановились.


  1. Переходим во вкладку ‘изменить” в нашем событии (пункт e) и вписываем переведенное слово с другого языка через запятую, сохраняя знаки и атрибуты, которые мы задавали нашей кнопке в сценарии, так делаем везде, где хотим видеть перевод на другой язык.


В нашем случае это русский поэтому перевод кнопки тоже будет русский через запятую во вкладке ‘изменить” с сохранением атрибутов.

Добавление мультиязычности в телеграм бот.-8
  1. Добавляем уведомление о смене языка пользователю. Чтобы у нас не было бесконечной загрузки при переключении языка в нашем боте, мы создаем специальное событие, которое будет выступать в роли оповещения для перехода на другой язык, как это сделать? Смотри ниже.


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

Добавление мультиязычности в телеграм бот.-9

Готово вы завершили настройку мультиязычного меню.



  1. Что должно было получиться? Мы покажем это на примере бота https://t.me/MULTI_LANGUAGE_BOT_MARKTE_BOT


Пример Reply меню:


Добавление мультиязычности в телеграм бот.-10

Пример Inline меню:

Добавление мультиязычности в телеграм бот.-11

Частые ошибки при работе с меню.

  1. Почему не работает основное меню у сообщения?
Частые ошибки при работе с меню.-1

Разберем проблему на сценарии /start


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


  1. Ошибка тригера(события) инлайн меню


Инлайн кнопки могут перестать работать если тригер(событие) будет настроено с ошибкой или удалено(смотри скриншот)

Частые ошибки при работе с меню.-2
  1. Чтобы инлайн кнопки в меню вновь заработали добавьте это событие (можно без привязки к действию)

Заключение

Подведем итог в настройке меню в боте Telegram

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

Comments
to write comments
Comment list is empty. Start now!