Manuel › Keywords perso et Python
Keywords perso et Python
Tes propres variables à partir de texte, fichier, commande, adresse web ou code Python
Les keywords perso sont des variables que tu crées toi-même – dans l'app sous « Keywords ». Dans l'éditeur, elles se trouvent sous « Variables → Ventoview » et fonctionnent comme toutes les autres : dans les textes ({streamer}), dans les conditions, comme valeur pour les barres ou les curseurs d'images clés.
D’où vient la valeur
Sous « Valeur depuis », tu choisis d’où un keyword tire sa valeur. Commande PowerShell et Code Python n’apparaissent que si tu actives « Avancé » en haut – ils exécutent quelque chose sur ton PC.
| Valeur depuis | Ce que ça fait | Sûr ? |
|---|---|---|
| Texte fixe | Une valeur fixe, ex. ton nom ou ton Discord. | Oui – lecture seule |
| Fichier texte | Le contenu d'un fichier texte, relu toutes les quelques secondes. Beaucoup d'outils (lecteurs de musique, bots) écrivent des infos dans un fichier .txt. | Oui – lecture seule |
| Adresse web | La réponse d'une adresse, éventuellement un champ de celle-ci (chemin JSON, voir plus bas). | Oui – lecture seule |
| Commande PowerShell (Avancé) | La sortie d'une commande PowerShell – tu accèdes ainsi à presque tout ce que Windows sait. | Seulement tes propres commandes ! |
| Code Python (Avancé) | Ton propre code Python qui crée de nouvelles variables à partir d'autres. | Mode sécurisé : oui. Accès complet : seulement ton propre code ! |
Sont aussi intégrées {zeit}, {datum}, {wochentag} et {laufzeit}. Sous « Exemples à reprendre », il y a des entrées prêtes pour chaque type – ex. la météo de ta ville via https://wttr.in/Heide?format=%t.
Créer
- Dans l'app, ouvre « Keywords », puis « + Keyword ».
- Saisis un nom – seulement a–z, 0–9 et _. Il ne doit pas porter le nom d'une variable de module ; sinon la ligne devient rouge.
- Sous « Valeur depuis », choisis le type et saisis le texte, le fichier, l'adresse, la commande ou le code.
- Pour tout sauf le texte : Toutes les … s – à quelle fréquence c'est relu.
- « Enregistrer ». La valeur actuelle apparaît à droite – ou l'erreur en rouge.
Renommer et supprimer sont protégés : si un keyword est utilisé dans des designs ou des textes du bot, l'app demande d'abord et applique un renommage partout.
Python
Avec Python, tu calcules de nouvelles variables à partir de celles qui existent – ex. doubler le ping, arrondir des valeurs, remanier des textes ou compter quelque chose. Il te faut Python 3 sur le PC : installe-le depuis python.org en cochant « Add python.exe to PATH ».
Fonctionnement
- Toutes les variables sont déjà là – sous leur nom, sans {}.
{ping}devientping,{songtitle}songtitle. Les nombres arrivent comme nombres ("42"→42,"3,5"→3.5), tout le reste comme texte. - Tu définis la valeur avec le nom du keyword. Si le keyword s'appelle
test, écristest = …(majuscules/minuscules sans importance,TEST = …marche aussi). - Si cette variable n'existe pas à la fin, c'est
ergebnis = …qui compte – ou ce que le code affiche avecprint(…). True/Falsedeviennent « ja »/« nein » – adaptés aux conditions dans l'éditeur.- Un dictionnaire devient des variables séparées :
test = {"min": 1, "max": 9}donne{test_min}et{test_max}. speicherest un dictionnaire conservé entre les exécutions (jusqu'au redémarrage de l'app) – pour des compteurs, maximums ou moyennes.variablencontient toutes les variables sous forme de dictionnaire – pratique si un nom n'est pas un nom Python valide :variablen["mein-wert"].- Le code est relancé à chaque intervalle réglé, pendant 10 secondes au plus.
Exemples
Calculer – keyword doppelt :
doppelt = ping * 2
Arrondir et texte – keyword temptext :
temptext = f"{round(gputemp)} °C"
Oui/non pour les conditions – keyword zuheiss (dans l'éditeur : condition « zuheiss est ja ») :
zuheiss = gputemp > 80
Plusieurs cas – keyword lage :
if ping < 30:
lage = "super"
elif ping < 80:
lage = "okay"
else:
lage = "lag!"
Compter avec mémoire – keyword lags, toutes les 10 s :
if ping > 80:
speicher["n"] = speicher.get("n", 0) + 1
lags = speicher.get("n", 0)
Hasard et heure – keyword gruss :
import random
from datetime import datetime
stunde = datetime.now().hour
gruss = random.choice(["Salut", "Coucou", "Yo"]) if stunde < 18 else "Bonsoir"
Trouver les erreurs
Si le code ne tourne pas, l'erreur apparaît en rouge dans l'aperçu – avec la ligne de ton code, ex. NameError: name 'pnig' is not defined (Zeile 1) (faute de frappe dans le nom). Fréquentes :
- NameError : la variable n'existe pas (encore) – vérifie le nom et si son module tourne.
- TypeError en calculant : la valeur est du texte au lieu d'un nombre, ex. parce que la variable est vide. Solution :
float(ping or 0). - IndentationError : indentation irrégulière – dans le champ, Tab indente de 4 espaces.
- « Python 3 introuvable » : installe Python (coche « Add to PATH »), puis redémarre l'app.
Mode sécurisé et accès complet
Les keywords Python tournent par défaut en mode sécurisé. Tout ce qui sert aux calculs, au texte, aux listes et aux dictionnaires est permis, plus ces modules : math, random, statistics, datetime, time, json, re, decimal, fractions, itertools, collections, functools, string, textwrap, calendar, operator, bisect, heapq, cmath.
Sont bloqués les fichiers (open), les autres modules (os, subprocess, réseau …), eval/exec et les rouages internes de Python (tout ce qui commence par _). Au lieu de "…".format(), utilise des f-strings : f"{wert} ms".
S'il t'en faut plus – ex. lire un fichier ou interroger un site –, coche « Accès complet » sur le keyword. Le code peut alors faire tout ce que tu as le droit de faire sur ce PC.
L'accès complet et les commandes PowerShell tournent avec tes droits : ils peuvent supprimer des fichiers, lancer des programmes et envoyer des données. N'y mets que du code que tu as écrit toi-même ou que tu comprends ligne par ligne – jamais du code venant du chat, de Discord ou d'inconnus. Le mode sécurisé protège des erreurs et du code étranger simple, mais ce n'est pas une cage parfaite.
Adresse web et chemin JSON
Si une adresse renvoie du JSON, le chemin en extrait un champ : data.title, items[0].name – ou cherche dans tout l'arbre : **[Text~Tctl].Value prend le premier objet dont le champ « Text » contient « Tctl », et sa « Value ».
Exemple température CPU : Windows ne la fournit pas lui-même. Lance le gratuit LibreHardwareMonitor (officiel sur github.com/LibreHardwareMonitor) en administrateur et active Options → Remote Web Server → Run. Reprends ensuite l'exemple « Température CPU » – sur Intel, au lieu de Tctl, le chemin **[Text~CPU Package].Value.
Sauvegardes
Les keywords sont inclus dans la sauvegarde complète (.vview). Si une sauvegarde contient des keywords PowerShell ou Python, l'app te prévient avant le chargement – ne charge que des sauvegardes qui viennent de toi.