Manual › Keywords propios y Python

Keywords propios y Python

Variables propias a partir de texto, archivo, comando, dirección web o código Python

Los keywords propios son variables que creas tú – en la app en “Keywords”. En el editor están en “Variables → Ventoview” y funcionan como todas las demás: en textos ({streamer}), en condiciones, como valor para barras o reguladores de keyframes.

De dónde viene el valor

En “Valor de” eliges de dónde obtiene su valor un keyword. Comando de PowerShell y Código Python solo aparecen si activas arriba “Avanzado” – ejecutan algo en tu PC.

Valor deQué hace¿Seguro?
Texto fijoUn valor fijo, p. ej., tu nombre o Discord.Sí – solo lee
Archivo de textoEl contenido de un archivo de texto, releído cada pocos segundos. Muchas herramientas (reproductores, bots) escriben información en un .txt.Sí – solo lee
Dirección webLa respuesta de una dirección, opcionalmente un campo de ella (ruta JSON, ver abajo).Sí – solo lee
Comando de PowerShell (Avanzado)La salida de un comando de PowerShell – con ella llegas a casi todo lo que sabe Windows.¡Solo comandos propios!
Código Python (Avanzado)Código Python propio que crea variables nuevas a partir de otras.Modo seguro: sí. Acceso completo: ¡solo código propio!

Además vienen integradas {zeit}, {datum}, {wochentag} y {laufzeit}. En “Ejemplos para usar” hay entradas listas para cada tipo – p. ej., el tiempo de tu ciudad con https://wttr.in/Heide?format=%t.

Crear

  1. En la app abre “Keywords”, “+ Keyword”.
  2. Escribe el nombre – solo a–z, 0–9 y _. No puede llamarse como una variable de un módulo; si no, la fila se pone roja.
  3. En “Valor de” elige el tipo y escribe el texto, archivo, dirección, comando o código.
  4. En todo salvo texto: Cada … s – cada cuánto se vuelve a leer.
  5. “Guardar”. A la derecha aparece el valor actual – o el error en rojo.

Renombrar y eliminar están protegidos: si un keyword se usa en diseños o textos del bot, la app pregunta antes y aplica el cambio de nombre en todas partes.

Python

Con Python calculas variables nuevas a partir de las existentes – p. ej., duplicar el ping, redondear valores, rehacer textos o contar algo. Necesitas Python 3 en el PC: instálalo desde python.org marcando “Add python.exe to PATH”.

Cómo funciona

  • Todas las variables ya están – con su nombre, sin {}. {ping} pasa a ser ping, {songtitle} songtitle. Los números llegan como números ("42" → 42, "3,5" → 3.5), todo lo demás como texto.
  • El valor lo fijas con el nombre del keyword. Si el keyword se llama test, escribes test = … (mayúsculas/minúsculas da igual, también vale TEST = …).
  • Si al final esa variable no existe, cuenta ergebnis = … – o lo que el código muestre con print(…).
  • True/False se convierten en “ja”/“nein” – adecuados para condiciones en el editor.
  • Un diccionario se convierte en variables propias: test = {"min": 1, "max": 9} da {test_min} y {test_max}.
  • speicher es un diccionario que se conserva entre ejecuciones (hasta reiniciar la app) – para contadores, máximos o medias.
  • variablen contiene todas las variables como diccionario – útil si un nombre no es un nombre Python válido: variablen["mein-wert"].
  • El código se vuelve a ejecutar cada vez en el intervalo ajustado, como mucho durante 10 segundos.

Ejemplos

Calcular – keyword doppelt:

doppelt = ping * 2

Redondear y texto – keyword temptext:

temptext = f"{round(gputemp)} °C"

Sí/no para condiciones – keyword zuheiss (en el editor: condición “zuheiss es ja”):

zuheiss = gputemp > 80

Varios casos – keyword lage:

if ping < 30:
    lage = "super"
elif ping < 80:
    lage = "okay"
else:
    lage = "lag!"

Contar con memoria – keyword lags, cada 10 s:

if ping > 80:
    speicher["n"] = speicher.get("n", 0) + 1
lags = speicher.get("n", 0)

Azar y hora – keyword gruss:

import random
from datetime import datetime
stunde = datetime.now().hour
gruss = random.choice(["Hola", "Hey", "Buenas"]) if stunde < 18 else "Buenas noches"

Encontrar errores

Si el código no funciona, el error aparece en rojo en la vista previa – con la línea de tu código, p. ej., NameError: name 'pnig' is not defined (Zeile 1) (errata en el nombre). Frecuentes:

  • NameError: la variable no existe (aún) – revisa el nombre y si su módulo está activo.
  • TypeError al calcular: el valor es texto en vez de número, p. ej., porque la variable está vacía. Solución: float(ping or 0).
  • IndentationError: sangría irregular – en el campo Tab sangra 4 espacios.
  • “No se encontró Python 3”: instala Python (marca “Add to PATH”) y reinicia la app.

Modo seguro y acceso completo

Los keywords de Python funcionan por defecto en modo seguro. Se permite todo para cálculos, texto, listas y diccionarios, además de estos módulos: math, random, statistics, datetime, time, json, re, decimal, fractions, itertools, collections, functools, string, textwrap, calendar, operator, bisect, heapq, cmath.

Están bloqueados los archivos (open), otros módulos (os, subprocess, red …), eval/exec y el interior de Python (todo lo que empieza por _). En vez de "…".format() usa f-strings: f"{wert} ms".

Si necesitas más – p. ej., leer un archivo o consultar una web –, marca “Acceso completo” en el keyword. Entonces el código puede hacer todo lo que tú puedes hacer en este PC.

El acceso completo y los comandos de PowerShell funcionan con tus permisos: pueden borrar archivos, iniciar programas y enviar datos. Introduce solo código que hayas escrito tú o entiendas línea a línea – nunca código del chat, de Discord o de desconocidos. El modo seguro protege de errores y de código ajeno sencillo, pero no es una jaula perfecta.

Dirección web y ruta JSON

Si una dirección devuelve JSON, la ruta saca un campo: data.title, items[0].name – o busca en todo el árbol: **[Text~Tctl].Value toma el primer objeto cuyo campo “Text” contiene “Tctl”, y de él “Value”.

Ejemplo temperatura de CPU: Windows no la da por sí solo. Inicia el gratuito LibreHardwareMonitor (oficial en github.com/LibreHardwareMonitor) como administrador y activa Options → Remote Web Server → Run. Luego usa el ejemplo “Temperatura de CPU” – con Intel, en lugar de Tctl, la ruta **[Text~CPU Package].Value.

Copias de seguridad

Los keywords van incluidos en la copia completa (.vview). Si una copia contiene keywords de PowerShell o Python, la app avisa antes de cargarla – carga solo copias que vengan de ti.