aide plugin Calculatrice
2 participants
Page 1 sur 1
aide plugin Calculatrice
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;
}
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;
}
halim- Messages : 93
Date d'inscription : 19/11/2022
Re: aide plugin Calculatrice
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
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- Messages : 81
Date d'inscription : 01/09/2020
Age : 58
Localisation : Toulouse
Re: aide plugin Calculatrice
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+
- 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- Messages : 93
Date d'inscription : 19/11/2022
Re: aide plugin Calculatrice
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);
});
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- Messages : 93
Date d'inscription : 19/11/2022
Sujets similaires
» aide plugin wikipédia
» aide creation plugin
» aide plugin volume du pc
» aide plugin horoscope
» aide rawsentence
» aide creation plugin
» aide plugin volume du pc
» aide plugin horoscope
» aide rawsentence
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|