Acción: condición¶
Esta es una poderosa acción que te permitirá agregar condiciones a tus botones y comandos, las condiciones son un punto en las acciones donde se evaluará algo, por ejemplo, si el balance es mayor a un determinado número, si es verdadero retornará True
, y si es falso retornará False
, entonces podrás decidir qué hacer en cada caso.
Opciones de la acción:¶
- Nueva condición: La condición a evaluar en formato de expresión, entre llaves
{ }
. - Si es verdadero: Lo que ocurrirá si la expresión a evaluar es
True
, o un valor que tienda aTrue
. Puede sercontinuar
(continua a la siguiente acción),detener
(detiene la ejecución y no hace más nada), yejecutar acción por ID
(ejecuta cualquier acción del botón o comando actual por su#ID#
, independientemente de su posición). - Si es falso: Lo que ocurrirá si la expresión a evaluar es
False
, o un valor que tienda aFalse
, comoNone
o el número0
. Puede sercontinuar
(continua a la siguiente acción),detener
(detiene la ejecución y no hace más nada), yejecutar acción por ID
(ejecuta cualquier acción del botón o comando actual por su#ID#
, independientemente de su posición).
¿Qué devuelve la acción a través de su ID?¶
Esta acción no devuelve nada.
Un ejemplo
Supón que has creado el comando del ejemplo de la acción pasada, llamado /cambiar_balance
, el cual le incrementa o decrementa el balance a un usuario, pasándole como parámetros el ID del usuario objetivo, y un número que hace referencia al balance a incrementar o decrementar.
Ese comando así como está funciona perfectamente, pero tiene un problema grave, y es que cualquier usuario que lo descubra podrá incrementarse su propio balance si así lo desea.
Es ahí cuando entran en juego las condiciones.
Para solucionar el problema podrías agregar una acción de condición al inicio del comando, antes del resto de acciones.
En Nueva condición
tienes que poner alguna verificación para que el bot solo ejecute el comando si eres tú quien lo ejecuta. ¿Cómo saber que eres tú? Fácil, por tu ID, el cual es único para cada usuario de Telegram. Vamos a suponer que tu ID es 98765
(los ID de Telegram siempre serán valores numéricos enteros), la expresión sería {id == 98765}
En Si es verdadero
seleccionas continuar
, para que continue con el resto de las acciones si ciertamente el ID es 98765.
En Si es falso
seleccionas detener
, para que se detenga si el ID del usuario que ejecutó el comando no coincide con el tuyo.
Y eso sería todo, ya tienes un comando totalmente seguro que cambia el balance a cualquier usuario del bot pero solo si eres tú quien lo ejecuta.