Un menú en un Telegram bot es un conjunto de botones que pueden redirigir a los usuarios a otros Menús con botones, enviar diferentes tipos de contenido (por ejemplo, texto, imágenes, videos o pegatinas) o dirigirlos a enlaces, tanto dentro del bot (por ejemplo, a través de etiquetas UTM) como externos (a canales, chats o sitios web).

Configuración básica del menú
Configuración del menú principal.

La captura de pantalla muestra dónde se encuentra el control menú principal(se aplica a todo su bot, a menos que agregue ajustes sutiles especiales, pero más sobre esto a continuación) para su bot.
A la derecha está la configuración de control menú principal. En nuestro caso, es la creación de botones para nuestro menú y la gestión de la colocación de los botones. ¿Hasta ahora todo parece fácil? - Continuamos.
Gestión del menú.
Este bloque es información de nivel medio y aquí tendrá que pensar un poco, pero nuevamente nada súper pesado.
Al pulsar el botón - "control" veremos 2 botones
MODO de operación del MENÚ y ELIMINAR el MENÚ. Si todo está claro con este último, entonces el MODO de operación del MENÚ es un tema muy importante, lo analizaremos a continuación.

Si hacemos clic en MODO DE OPERACIÓN DEL MENÚ entonces veremos 3 modos

- Menú del mensaje (inline) - está cerca del mensaje y tiene un aspecto translúcido. Para que funcione correctamente, se debe crear un evento: [TELEGRAM] evento presionando el botón incorporado. Sin este evento, los clics en los botones serán ignorados por el bot.
¿Dónde configurar el evento de clic en el botón incorporado? - en el menú de eventos de la izquierda en el menú de navegación.(ver pantalla)

Enviar un mensaje cada vez – con cualquier clic en el botón en línea se envía un nuevo chat en el bot.
Editar mensaje: en el chat del bot, el mensaje se actualiza sin enviar un nuevo chat al bot.
- Menú estático (Respuesta) - se encuentra en la parte inferior del diálogo con el bot. Al hacer clic en los botones, se envían nuevos mensajes. - es un conjunto de botones que aparece en lugar del teclado del usuario. Estos botones envían mensajes predefinidos al bot como si el usuario los hubiera escrito manualmente. Son convenientes para elegir opciones de respuesta.
El menú estático tiene sus propios ajustes por ejemplo, ocultarlo después de hacer clic o hacer que los botones de su bot un poco más pequeño (ver captura de pantalla). Esta configuración se encuentra en"control"

- Eliminar un menú estático (delete reply) - elimina el menú del chat donde el diálogo con el bot. Dado que el menú estático tiene la característica de persistir en el diálogo hasta que se elimine automáticamente.
Ejemplos de menú:
Menú estático (Reply) y menú en el mensaje (inline)

Añadir multilenguaje a Telegram bot.
El bloque más difícil de entender e implementar, aquí tendrá que pensar detenidamente y volver a Leer este párrafo del artículo más de una vez para implementar sus ideas en su bot, comenzaremos con la definición de multilenguaje.
El multilenguaje en Telegram-bot permite a los usuarios elegir un lenguaje de interfaz conveniente, haciendo que el bot sea más accesible y conveniente para diferentes audiencias. La implementación incluye la definición del idioma, el almacenamiento de traducciones y la salida de mensajes en el idioma deseado.
Vamos a ver cómo hacerlo.

- Para comenzar, debe liberar el componente multilingüe a la izquierda en el menú de navegación. Selecciona los idiomas que te interesan y añádelos.
- A continuación, liberamos el menú, en mi caso estará en el botón de perfil libre y crear un evento para que nuestro botón pueda configurar un evento especial en el futuro (en la pestaña "eventos" en la navegación)

- El siguiente paso será el lanzamiento de un script para nuestros Menús y aquí tenemos que decidir qué menú tendremos en línea o respuesta, haremos un ejemplo para dos a la vez, para que se vea claramente. Menú multilingüe vamos a hacer en el ejemplo de un bot https://t.me/MULTI_LANGUAGE_BOT_MARKTE_BOT
- Estamos creando un script para cambiar el idioma, un ejemplo en la foto de abajo.
El primer ejemplo es para un menú de script integrado o un mensaje gratuito

El segundo ejemplo es para un menú estático.

- Botones para cambiar el idioma al ruso o Inglés que hacemos con el evento multilingüe. (vea la captura de pantalla a continuación), este punto es el mismo, tanto para reply como para inline menu

- Configuración general de multilenguaje para los Menús reply e inline.
Una vez que haya creado el evento en el script (véase el punto b) deberías tener un evento del mismo nombre (en la pestaña eventos en la navegación)
Ejemplo de cómo se ve:

A continuación, configuramos las acciones para este evento, es decir, conectamos el script (punto d) con este evento y lo guardamos.
- Debido a que tenemos un menú con acciones multilingües para nuestros eventos e incluyendo los botones en el bot también deben ser traducidos, para esto tenemos que nuestro componente multilenguaje ajusta correctamente las traducciones de nuestros botones, No puedes confiar completamente en nuestro traductor automático y, por lo tanto, es mejor corregir las traducciones manualmente

- Una vez que se haya Asegurado de que la traducción es correcta, volvemos a los eventos y volvemos donde lo dejamos.
- Vaya a la pestaña 'editar' en nuestro evento (punto e) y escriba la palabra traducida de otro idioma está separada por comas, conservando los signos y atributos que le hemos dado a nuestro botón en el script, lo hacemos donde quiera que queramos ver la traducción a otro idioma.
En nuestro caso, es ruso por lo que la traducción del botón también será ruso separado por comas en la pestaña ‘cambiar” conservando los atributos.

- Añadimos una notificación sobre el cambio de idioma al usuario. Para que no tengamos una carga infinita cuando cambiemos de idioma en nuestro bot, creamos un evento especial que actuará como una alerta para cambiar a otro idioma, ¿cómo lo hacemos? Véase abajo.
Creamos un script arbitrario con nuestro texto y pasamos a nuestra pestaña de eventos "favorita", luego creamos un script multilingüe y adjuntamos nuestro script recién creado.

Hecho ha completado la configuración del menú multilingüe.
- ¿Qué iba a pasar? Vamos a Mostrar esto en el ejemplo de un bot https://t.me/MULTI_LANGUAGE_BOT_MARKTE_BOT
Ejemplo Reply menú:

Ejemplo de menú en Línea:

Errores frecuentes en el menú.
- Por qué no funciona menú principal ¿el mensaje?

Analicemos el problema en el script / start
Digamos que ha creado un menú principal y decidió crear un menú para otro script o mensaje gratuito, pero luego cambió de opinión y eliminó los botones, pero no eliminó el menú en sí, entonces su bot tendrá un error en forma de vacío en lugar de un menú en ese script o botón libre en el bot.
- Error de Trigger (eventos) menú en línea
Los botones en línea pueden dejar de funcionar si el triger (evento) se configura con un error o se elimina(ver captura de pantalla)

- Para que los botones en línea en el menú vuelvan a funcionar, agregue este evento (puede hacerlo sin estar vinculado a la acción)
Conclusión
Resumamos en la configuración del menú en el bot de Telegram
Configuración del menú en Telegram bot - un paso importante para mejorar la experiencia del usuario. Organizado correctamente hace que la interacción con el bot sea más conveniente, clara y rápida, lo que permite a los usuarios encontrar fácilmente las funciones y comandos que necesitan.