AVATAR Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-45%
Le deal à ne pas rater :
PC Portable LG Gram 17″ Intel Evo Core i7 32 Go /1 To
1099.99 € 1999.99 €
Voir le deal

aide plugin Calculatrice

2 participants

Aller en bas

aide plugin Calculatrice Empty aide plugin Calculatrice

Message par halim Mar 16 Jan - 11:31

bonjour stephane,
j'ai développer un plugin pour calculer en seulement 2 lignes de code, il a l'air fonctionnel avec les opérateurs : x, -, / , sauf j'ai le probleme avec l'opérateur + , qui n'est pas reconnu , quand je passe la régle on vois bien sur l'interface client 10 + 10, mais sur la console serveur l'opérateur + est absent 10 10
info: calculer 10 10 From: Salon
info: Intent Calculatrice, Syntax: true
info: Action Calculatrice
info: Calculatrice from: Salon To: Salon
error: call(Calculatrice) Unexpected number

{
"modules": {
"Calculatrice": {
"version": "1.0",
"name": "calcul",
"rules": ["calculation","calculate","how much being","how many do"]
}
}
}

exports.action = function(data, callback){

let client = setClient(data);
info("Calculatrice from:", data.client, "To:", client);
calcul (data, client);
callback();

}


function calcul (data, client) {

let rule = data.action.rawSentence;
let match = rule.replace(/calcul|calculer|tu peux calculer|combien font/i, "").replace("x", "*").replace("diviser","/").replace("moins", "-").replace("plus", "+").trim();
let result = eval(match);
Avatar.speak(`${match} = ${result}`, data.client, () => {
Avatar.Speech.end(data.client);
});

}


function setClient (data) {
let client = data.client;
if (data.action.room)
client = (data.action.room != 'current') ? data.action.room : (Avatar.currentRoom) ? Avatar.currentRoom : Config.default.client;
if (data.action.setRoom)
client = data.action.setRoom;
return client;
}

aide plugin Calculatrice Captur28
halim
halim

Messages : 93
Date d'inscription : 19/11/2022

Revenir en haut Aller en bas

aide plugin Calculatrice Empty Re: aide plugin Calculatrice

Message par Avatar Mer 17 Jan - 13:30

Le pb se trouve sur le client.
Ouvre le fichier <répertoire client>/resources/app/core/chrome/speech.js

Aux lignes 37 et 121, modifie speechResult par encodeURIComponent(speechResult)
Ce qui donne:
let url = "https://"+options.address+":"+options.port+"/AvatarServer?action="+encodeURIComponent(speechResult)+"&threashold="+threashold;

Normalement, ca doit résoudre ton problème
Tiens-moi au courant
Avatar
Avatar

Messages : 81
Date d'inscription : 01/09/2020
Age : 58
Localisation : Toulouse

Revenir en haut Aller en bas

aide plugin Calculatrice Empty Re: aide plugin Calculatrice

Message par halim Mer 17 Jan - 22:59

sur mon v s code de mon pc du dev
- a la ligne 37 :  manageAKA(speechResult, threashold); // aprés modif par ca:  manageAKA(encodeURIComponent(speechResult), threashold); , il y'avait un petit soucis pour passer la regle avec le mot déclencheur
j'ai laisser comme sur le fichier : manageAKA(speechResult, threashold); // pas modif

- a la ligne 39 et 118 : aprés modif
- let url = "https://"+options.address+":"+options.port+"/AvatarServer?listen="+encodeURIComponent(speechResult)+"&threashold="+threashold;
- let url = "https://"+options.address+":"+options.port+"/AvatarServer?action="+encodeURIComponent(speechResult)+"&threashold="+threashold;
ca fonctionne pour calculer une addition prend bien en compte l'opérateur + entre 2 chiffres,
mais deux petit soucis au niveau du dev du plugin
- pour une division , exemple: 3÷6=0,5 , sur le résultat du dev du plug j'ai 0.5 enfaite pour remplacer le point par une virgule
- des fois le résulatat n'est pas le meme avec plusieurs nombre(chiffres), si je calcul plus de nombre exemple : 10+5x22=330 ou10+5x22÷3=110 le résultat du plug est different,
je vais encore essayer de developper correctement le plugin
merci pour ton aide
A+
halim
halim

Messages : 93
Date d'inscription : 19/11/2022

Revenir en haut Aller en bas

aide plugin Calculatrice Empty Re: aide plugin Calculatrice

Message par halim Jeu 18 Jan - 0:08

rebonjour stephane
avec les modif sur le fichier <répertoire client>/resources/app/core/chrome/speech.js
- let url = "https://"+options.address+":"+options.port+"/AvatarServer?listen="+encodeURIComponent(speechResult)+"&threashold="+threashold;
- let url = "https://"+options.address+":"+options.port+"/AvatarServer?action="+encodeURIComponent(speechResult)+"&threashold="+threashold;

tout est bon, aucun probleme avec les symboles : + et % ;
j'ai rajouter au plug un peu de code pour remplacer le point par une virgule pour un calcul de division; ca l'air de bien fonctionner,
meme quand je fait plusieurs opération le résultat est correcte(j'ai testé plusieurs fois pour le moment ca a l'air bon)
je vais juste rajouter encore du code pour un résultat seulement deux chiffres aprés la virgule :35,33333333333333, est le plugin Calculatrice seras 100% correctement développer(niveau superieur)

let rule = data.action.rawSentence;
let number = rule.replace(/calcul|calculer|tu peux calculer|combien font/i, "").replace("x", "*").replace("diviser","/").replace("divisé par", "/").replace("moins", "-").replace("plus", "+").trim();
let result = eval(number);
let resultComma = result.toString().replace('.', ',');
Avatar.speak(`${number} = ${resultComma}`, data.client, () => {
Avatar.Speech.end(data.client);
});
halim
halim

Messages : 93
Date d'inscription : 19/11/2022

Revenir en haut Aller en bas

aide plugin Calculatrice Empty Re: aide plugin Calculatrice

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum