Saltar a contenido

¿Qué son las variables?

Las variables permiten almacenar datos para su posterior uso en mensajes y acciones. Deben ser enviadas dentro de expresiones.

VisualMaker pone a tu disposición 2 tipos de variables:

  • Variables normales: se almacena un valor diferente e individual para cada usuario del bot, un ejemplo de una variable normal puede ser el balance, el cual por naturaleza debe ser diferente para cada usuario.
  • Variables globales: se almacena el mismo valor para todo el bot, por ejemplo, los valores de las estadísticas del bot.

Además de los tipos de variables, también dispones de 6 tipos de datos que podrán ser almacenados en variables, estos son:

  • Texto: para almacenar todo tipo de textos, como por ejemplo, nombres, direcciones, correos, etc. Su valor por defecto es una cadena de texto vacía ''.
  • Numérica: para almacenar números, la variable balance ya viene creada por defecto. Su valor por defecto es 0.
  • Fecha: para almacenar fechas. Su valor por defecto es 01-01-0001.
  • Multimedia: para almacenar archivos multimedia, como fotos, videos, audios, documentos, etc. Su valor por defecto es {}.
  • Reenviado: para almacenar mensajes que han sido reenviados. Su valor por defecto es {}.
  • Diccionario: para almacenar tipos de datos más avanzados, como {"nombre": "Juan", "edad": 20}. Su valor por defecto es {}.

¿Cómo crear una variable?

  1. Para crear una variable dirígete a 🔑 Gestionar, después a 🗃 Variables, y por último a 💠 Crear variable 💠.
  2. Selecciona el tipo de dato a almacenar y envía el nombre de la variable, si es una variable global, el nombre debe comenzar por global_.
  3. La variable ha sido creada, ya puedes usarla en tu bot.
Nota

El máximo de variables que puedes usar por bot está condicionado por tu plan de Suscripción actual, a mayor el plan, más variables podrás usar.

¿Cómo eliminar una variable?

  1. Para eliminar una variable dirígete a 🔑 Gestionar, después a 🗃 Variables, y por último a ⛔️ Eliminar variable ⛔️.
  2. Envía el nombre de la variable a eliminar.
  3. La variable será automáticamente eliminada.
ADVERTENCIA

Al eliminar una variable, todos sus datos serán definitivamente eliminados, sin posibilidad de ser recuperados.

Reiniciar datos de variables a su valor por defecto

Para reiniciar los datos de una variable a su valor por defecto, es tan sencillo como eliminarla y volverla a crear, los datos almacenados de los usuarios serán reiniciados a su valor predeterminado.

¿Cómo usar las variables?

Las variables pueden ser usadas dentro de mensajes, en acciones, y en general, en todos los lugares donde las expresiones puedan ser usadas, las variables deben ir siempre entre llaves { }, ya que las llaves dan a entender a VisualMaker que se trata de una expresión. Más información de las expresiones aquí.

Ejemplo de uso de una variable

Tienes {balance} monedas.

Eso reemplazará automáticamente {balance} por el valor de la variable balance, e imprimiría algo como:

Tienes 10 monedas.

Representar tipos de multimedia

Cuando se guarda un archivo multimedia en una variable multimedia, VisualMaker establece el tipo de multimedia automáticamente, por lo que al llamar la variable, su tipo de multimedia será representado automáticamente, no obstante, hay casos donde deberás tú definir qué tipo de dato se quiere representar, ya sea foto, video, audio, u otros, como ejemplo, para representar una foto a partir de un file_id de Telegram sería: {photo:"file_id"}. También puedes hacerlo con variables, por ejemplo, para representar un video, del cual guardaste su file_id en una variable de texto, sería así: {video:variable_de_texto}. Nótese que para representar a partir de un texto, se usan comillas " ", y para representar a partir de una variable no.

Todos los tipos de multimedia que se pueden representar de esta forma son: photo, video, audio, document, animation, voice, sticker

¿Qué son las variables primitivas?

Las variables primitivas son variables que ya vienen disponibles en VisualMaker con la creación de cualquier bot, se diferencian de las variables normales y globales en que no pueden ser creadas ni eliminadas, ni son contadas como variables per se, pero siempre están ahí para su uso, y se actualizan automáticamente según convenga.

Variables primitivas de usuarios

  • id: ID de Telegram del usuario.
  • first_name: Nombre del usuario.
  • last_name: Apellido del usuario.
  • username: Nombre de usuario, sin @.
  • mention: Nombre del usuario con enlace a su perfil.
  • language_code: Código de idioma del usuario, en formato ISO 639-1.
  • ref_link: Enlace de referidos del usuario.
  • ref_by: ID de la persona que refirió al usuario (referente), si no tiene, devolverá None.
  • ref_count: Cantidad de referidos atraídos a través del enlace de referidos.
  • ref_list: Listado de todos los referidos del usuario, en formato de cursor, utiliza la función loop() para mostrarlos.
  • date_joined: Fecha en la que se unió el usuario al bot, utiliza la función date_format() para representarla a tu gusto.
  • last_seen: Fecha donde se vió por última vez al usuario en el bot, utiliza la función date_format() para representarla a tu gusto.
  • is_admin: Devuelve True si el usuario es administrador del bot, o False si no lo es.
  • is_new: Devuelve True si el usuario es nuevo en el bot, o False si no lo es. Un usuario es nuevo si no ha pasado por todas las acciones que tenga /start, una vez llegue al menú principal, is_new pasará a ser False.
  • is_active: Devuelve True si el usuario está activo en el bot, o False si no lo está. Un usuario es activo si no ha eliminado el bot.
  • is_banned: Devuelve True si el usuario está baneado en el bot, o False si no lo está.
  • is_deleted: Devuelve True si el usuario es una cuenta eliminada en Telegram, o False si no lo es.
  • is_bot: Devuelve True si el usuario es un bot, o False si no lo es.
  • is_premium: Devuelve True si el usuario tiene una suscripción Premium de Telegram activa, o False si no la tiene.
  • is_verified: Devuelve True si el usuario está verificado por Telegram, o False si no lo está.
  • is_restricted: Devuelve True si el usuario tiene alguna restricción, o False si no tiene ninguna.
  • is_scam: Devuelve True si el usuario tiene la etiqueta de estafa impuesta por Telegram, o False si no la tiene.
  • is_fake: Devuelve True si el usuario es catalogado como falso por Telegram, o False si es real.

Variables primitivas del bot

  • bot_name: Devuelve el nombre del bot.
  • bot_username: Devuelve el nombre de usuario del bot, sin @
  • bot_top_ref: Listado de los usuarios con más referidos en el bot, en formato de cursor, utiliza la función loop() para mostrarlos.
  • total_users: Devuelve el número total de usuarios que han iniciado el bot.
  • total_active_users: Devuelve el número total de usuarios activos en el bot.
  • total_unregistered: Devuelve el número total de usuarios que enviaron /start pero no pasaron la verificación creada por ti.
  • total_banned: Devuelve el número total de usuarios baneados en el bot.
  • total_deposits: Devuelve el número total de depósitos realizados en el bot, incluye depósitos externos e internos.
  • total_deposits_amount: Devuelve la suma total en USD de depósitos realizados en el bot, incluye depósitos externos e internos.
  • total_withdrawals: Devuelve el número total de retiros realizados en el bot, incluye retiros externos e internos.
  • total_withdrawals_amount: Devuelve la suma total en USD de retiros realizados en el bot, incluye retiros externos e internos.

Variables primitivas de mensajes y chats

  • chat_type: Devuelve el tipo de chat donde fue enviado el mensaje, si fue enviado en el bot devolverá 'private', si fue enviado en un grupo devolverá 'group', y si fue enviado en un canal devolverá 'channel'.
  • reply_to_message_id: Si el mensaje es una respuesta a otro mensaje, devuelve el ID del mensaje respondido.
  • reply_to_message.id: Si el mensaje es una respuesta a otro mensaje, devuelve el ID del remitente original.
  • reply_to_message.first_name: Si el mensaje es una respuesta a otro mensaje, devuelve el nombre del remitente original.
  • reply_to_message.username: Si el mensaje es una respuesta a otro mensaje, devuelve el nombre de usuario del remitente original.
  • reply_to_message.language_code: Si el mensaje es una respuesta a otro mensaje, devuelve el código de idioma del remitente original, en formato ISO 639-1.
  • reply_to_message.is_deleted: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original es una cuenta eliminada en Telegram, o False si no lo es.
  • reply_to_message.is_bot: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original es un bot, o False si no lo es.
  • reply_to_message.is_premium: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original tiene una suscripción Premium de Telegram activa, o False si no la tiene.
  • reply_to_message.is_verified: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original está verificado por Telegram, o False si no lo está.
  • reply_to_message.is_restricted: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original tiene alguna restricción, o False si no tiene ninguna.
  • reply_to_message.is_scam: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original tiene la etiqueta de estafa impuesta por Telegram, o False si no la tiene.
  • reply_to_message.is_fake: Si el mensaje es una respuesta a otro mensaje, devuelve True si el remitente original es catalogado como falso por Telegram, o False si es real.

¿Cómo usar las variables primitivas?

Las variables primitivas, al igual que las variables normales y globales, pueden ser usadas dentro de mensajes, en acciones, y en general, en todos los lugares donde las expresiones puedan ser usadas, igualmente deben ir siempre entre llaves { }, por ejemplo:

Tu nombre es {first_name}, y tu nombre de usuario es @{username}.