El blog de willicab

Desarrollo de bots para Telegram: usando reply_markup

En el artículo anterior dejamos en el aire el método reply_markup, ahora lo veremos en profundidad ya que este puede usarse en varios métodos, este representa un objeto llamado InlineKeyboardMarkup, que es básicamente una botonera en el mismo TL, se vería algo como lo siguiente.

Ejemplo de InlineKeyboardMarkup
Ejemplo de InlineKeyboardMarkup

Este objeto tiene un solo argumento llamado inline_keyboard el cual es un array de objetos llamados InlineKeyboardButton el cual describe cada botón, sus parámetros son los siguientes (los requeridos en rojo).

  • text texto del botón.
  • url enlace a una web que se quiera abrir cuando el botón es presionado.
  • callback_data data que se puede retornar al bot.
  • switch_inline_query si se establece, se pedirá que se seleccione un chat, se inserta el nombre de usuario del bot y la consulta que se haya escrito.
  • switch_inline_query_current_chat lo mismo que lo anterior, pero en el mismo chat.
  • callback_game descripción del juego que será lanzado si se presiona el botón.
  • pay si se establece como verdadero se crea un botón de pago.

EL parámetro text es el único requerido, también es requerido uno del resto de los parámetros, veamos primero el ejemplo más simple, usar el botón de url.

Lo que nos daría lo siguiente.

Ejemplo de uso de url en un InlineKeyboardMarkup

Como podemos ver en el código, un inline_keyboard no es más que un array de arrays, tenemos el primer nivel de array que contiene los demás, el segundo nivel es cada fila de botones y el tercer nivel son los botones que queremos mostrar.

Otro parámetro que podemos usar en el ‘callback_data‘, este enviará el texto que hayamos definido de vuelta al servidor y lo podremos usar para definir nuestras acciones, acá tenemos un ejemplo.

Lo que nos daría un resultado como el siguiente

callback_data.jpg" alt="Ejemplo de uso del parámetro callback_data" width="640" height="547" srcset="https://i0.wp.com/blog.willicab.com.ve/wp-content/uploads/2018/06/callback_data.jpg?w=640&ssl=1 640w, https://i0.wp.com/blog.willicab.com.ve/wp-content/uploads/2018/06/callback_data.jpg?resize=300%2C256&ssl=1 300w" sizes="(max-width: 640px) 100vw, 640px" /> Ejemplo de uso del parámetro callback_data

Esto es todo por ahora, recuerden que cualquier duda, comentario o petición me la pueden dejar en los comentarios.

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.