Recibir Dataframe por Link
En Wired Code: trigger.receive_dataframe
Dispara cuando a uno de los Links WIRED que tiene marcados le llega un dataframe enviado con Enviar Dataframe por Link, y reparte sus valores: cada clave que le interese, a un identificador de texto o a una variable de contexto.
Cómo funciona
Un dataframe es una tabla pequeña: hasta 12 filas, cada una con una clave y su valor. Este causante no se queda con la tabla entera: tú le dices qué claves recoge y dónde guarda cada una. Las claves que lleguen y no estén en tus filas se ignoran.
Cada fila tuya guarda el valor de su clave de una de dos formas:
| Capturar como | Dónde queda | Para qué |
|---|---|---|
| Identificador de texto | En un $(nombre) que eliges tú | Meterlo en los textos de la pila: Mensaje, Enviar Mensaje por Link… El botón Añadir identificador del editor ya te lo ofrece |
| Variable de contexto | En una variable de contexto tuya | Comparar el valor en una condición, operar con él o guardarlo en otra variable |
Y lo que pasa si no llega lo que esperas:
- Una clave que no viene deja su identificador con el texto
null, y su variable de contexto a −1. - En una variable solo entra un número entero, escrito tal cual:
42,-5,+5o007valen. Si llega otra cosa —abc,4x,3.5, un número con espacios delante o uno enorme—, la variable vale −1, igual que si la clave no hubiera llegado. El identificador, en cambio, guarda el texto tal cual. Así puedes comprobar con Valor de Variable si llegó un número válido. - No rellena
$(trigger_text). Ese es del mensaje, no del dataframe: un Enviar Mensaje por Link con Del Causante WIRED en esta pila manda el textonull.
Lo demás funciona como en Recibir Mensaje por Link, y está contado en Links y redes:
- Le llega lo que sale por otro Link de la misma red en otra sala cargada, y lo que sale por su propio Link si tiene marcada Recibir mensajes enviados por esta sala.
- No hay usuario desencadenante, y el furni desencadenante es el Link que recibió.
- Qué sala lo mandó lo dice
@event.link.source_room_id(ver De contexto).
Configuración
Número de filas, de 0 a 12. Viene en 0, y por cada fila que pidas aparece una sección Fila 1, Fila 2…, con dos líneas:
- Clave, el nombre del valor que recoges, y a su lado el desplegable Capturar como: Identificador de texto —el de fábrica— o Variable de contexto.
- Debajo, según lo que elijas: Identificador, el nombre del
$(…)sin el$ni los paréntesis; o Variable:, la variable de contexto donde se guarda. Solo puedes elegir variables de contexto creadas por ti que guarden valor y se puedan escribir; las demás salen en gris.
Los Links WIRED que escucha están dentro de Mostrar opciones avanzadas, con las mismas dos fuentes que en Recibir Mensaje por Link: Usar furnis seleccionados —la de fábrica, con los Links marcados con un clic en la sala— o Usar furnis de Selector. Solo valen Links WIRED: con otro furni entre los marcados sale «Selecciona al menos un Link WIRED.»
Las reglas de las claves
La clave tiene que ser la misma que la que escribió quien envía, y se guarda ya normalizada:
- De 1 a 40 caracteres: letras sin acentos, números o
_. - Los espacios pasan a
_y las mayúsculas a minúsculas: si escribesMi Clave, al guardar quedami_clave. - No se puede repetir en dos filas.
El identificador sigue reglas parecidas: de 1 a 40 letras sin acentos, números o _, se guarda en
minúsculas y no puede ser trigger_text, que está reservado. Y dos filas no pueden guardar en el mismo
identificador ni en la misma variable.
Si algo no cumple, al pulsar Listo sale el aviso y no se guarda. Los de una fila llevan delante Fila N:.
| Aviso | Por qué |
|---|---|
| «El nombre de la clave debe tener entre 1 y 40 caracteres.» | Clave vacía o demasiado larga |
| «El nombre de la variable solo puede contener letras, números o guiones bajos.» | La clave lleva acentos, signos u otros caracteres. Aunque hable de variables, es la clave |
| «El nombre de la variable ya está en uso en esta sala, elige otro.» | Dos filas con la misma clave. También habla de variables, y también es la clave |
| «El texto de muestra tiene que tener entre 1 y 40 caracteres.» | Identificador vacío o demasiado largo |
| «El texto de muestra solo puede contener letras, números o "_"» | El identificador lleva otros caracteres |
| «El identificador trigger_text está reservado para el mensaje o chat recibido.» | Has llamado trigger_text al identificador |
| «Elige como destino una Variable de Contexto creada por un usuario a la que se pueda escribir.» | La fila va a variable y no tiene una válida elegida |
| «Cada capturador debe ser único en esta pila wired.» | Dos filas guardan en el mismo identificador o en la misma variable |
| «Este dataframe es demasiado larga para guardarla. Acorta sus claves o mensajes, o usa menos filas.» | Entre todas las filas te pasas de lo que cabe |
Ejemplo
La sala «Vestíbulo» se entera de cada vuelta que se completa en la sala «Circuito». La pila del Circuito
manda dos claves, corredor y vueltas (está en el ejemplo de
Enviar Dataframe por Link). En el Vestíbulo, el Link B
está en la misma red, y vueltas_recibidas es una variable de contexto de la sala:
Sala «Vestíbulo» · Pila A
│
├─ Causante: Recibir Dataframe por Link
│ ├─ Número de filas ......................... 2
│ ├─ Fila 1 .................................. Clave: corredor · Identificador de texto → corredor
│ ├─ Fila 2 .................................. Clave: vueltas · Variable de contexto → vueltas_recibidas
│ └─ Links WIRED ............................. Usar furnis seleccionados → Link B
│
├─ Selector: Usuarios en Área
│ └─ Selección de zona ....................... toda la sala
│
├─ Condición: Valor de variable
│ ├─ Escoge una variable ..................... vueltas_recibidas (ámbito contexto)
│ ├─ Opciones ................................ =
│ └─ Valor de referencia ..................... 10
│
└─ Efecto: Mensaje
├─ ¿Cuál es el mensaje? .................... "¡$(corredor) ha completado 10 vueltas!"
├─ Visibilidad del mensaje ................. Solo el usuario desencadenante
└─ Seleccionar la fuente de usuarios ....... Usar usuarios del Selectorcorredor va a un identificador porque solo hace falta escribirlo; vueltas va a una variable porque
la condición tiene que compararlo. Con cualquier otra cifra la condición falla y no sale nada.
Notas
Las dos puntas tienen que usar la misma clave. Si quien envía manda Puntos y aquí pones puntos,
casan, porque las dos se guardan normalizadas. Pero punto y puntos no: la fila se queda con null.
Solo oye dataframes. Un mensaje que llegue por el mismo Link no lo dispara: para eso está Recibir Mensaje por Link.
Las variables de contexto viven lo que dura esta ejecución. Si quieres conservar lo que llega, cópialo a una variable de usuario, de furni o global con Cambiar valor de variable.