Label vers script


#1

Bonjour,

Est-il possible de créer un label dans Brain permettant de lancer un script ?

Merci d’avance :slight_smile:
Belle journée,
Jean-Baptiste


Peut-on déclencher un scénario à partir d’une phrase Telegrame?
#2

Il faut coder la feature ! Le problème est surtout le fait qu’il faut être capable d’identifier de façon unique un script dans ta phrase.

Je pense que le besoin final, c’est de lancer des scénarios un peu custom depuis des scripts. Je ne pense pas que lancer un script depuis une phrase soit la solution propre. Je pense que passer par un mode, ou lancer un scénario serait le plus adapté :slight_smile:

Quel est ton besoin exact ? quel phrase veut tu dire à Gladys pour lancer quel script ?


#3

Bonjour Pierre-Gilles,
Merci pour ta réponse rapide.
Ma question était pour l’instant plus d’ordre général.
Pour mieux comprendre le fonctionnement, j’essaie de customiser les différents scripts proposés dans les pages de support (par exemple donner le taux du moment BTC/EUR).
L’idée était d’essayer de pouvoir utiliser ces scripts pour faire une réponse à une question Brain (“Yo Gladys, quel est le taux du bitcoin ?”), de manière rapide.
S’il faut coder la feature, il ne me reste donc plus qu’à apprendre à le faire :slight_smile:


#4

Ok je vois l’usage :slight_smile:

Alors à voir comment on pourrait faire, parce qu’actuellement une phrase dans Gladys renvoie juste vers un label, qui lui renvoie vers une fonction dans Gladys/ dans un module. Hors impossible de stocker l’ID d’un script en particulier…

Ce qu’on fait actuellement par exemple quand tu dis “allume la lampe de bureau”, c’est qu’il y a dans Gladys des extracteurs qui ont pour role de sortir des données des phrases. Ex ici => "allume la lampe de bureau " où “lampe de bureau” est un tag d’un deviceType et donc est détecté par Gladys. Comme quand tu dis “Allume la lumière du salon”, salon est extrait en tant que “pièce de la maison”

Un peu dur d’imaginer comment on pourrait appeler un script, et même je ne sais pas si c’est ce qu’on veut dans Gladys véritablement… ^^

J’essaie d’avoir une vision long terme sur le projet, et mettre autant de feature sur le dos des scripts c’est assumer que Gladys n’arrive pas à faire le boulot sans que l’utilisateur doive coder quelque chose… A terme dans ma tête les scripts n’auront plus autant d’utilité qu’aujourd’hui quand beaucoup de modules seront développé. ( Exemple ici, un module BTC pourrait être développé )


#5

Salut @tous

Je rebondi sur ce post, mais ce n’est peut-être pas le lieu et d’abord je trouve que ce projet est vraiment super et que l’investissement qu’il a du demander doit être à la hauteur du résultat = Enorme. Un grand coup de chapeau à @pierre-gilles

Je suis un peu comme @jibe j’aimerais customiser un peu Gladys en passant par les scripts et pouvoir afficher le résultat des scripts ailleurs que dans les logs.
Je ne suis pas développeur, tout au plus j’ai quelques notions de java, javascript, node.js
Je pense que ça peut avoir un intérêt de pouvoir tester des trucs avec les scripts et si l’intérêt est partagé par tous, convertir le script en module. Avec pourquoi pas une FAS (Foire Aux Scripts) dans le forum dans laquelle on voterait pour prioriser la conversion en module de tel ou tel script.

J’ai essayé de lire la doc développeurs, mais il me manque encore “le bout de la pelote” pour arriver à me lancer dans quelque chose. Je n’ai pas compris, par exemple, comment on peut faire “dire” quelque chose à Gladys, que ce soit en parlant ou en affichant sur la console de chat…
Il me manque un document qui expliquerait pour un use case donné la séquence des évènements et les interactions entre modules, ou éléments du core, ou que sais-je…

Voilà, je suis dispo pour échanger.

Gaëtan


#6

Exactement, entre un script et un module il y a très peu de différence ( un module étant juste un script dans un fichier js ^^ ) , donc pour convertir il n’y a quasi rien à faire

N’hésite pas si tu as des questions en particulier sur les scripts/modules ( créé un autre topic par contre ça sera plus pratique )