AVATAR Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €
Le Deal du moment : -39%
Ordinateur portable ASUS Chromebook Vibe CX34 Flip
Voir le deal
399 €

aide plugin horoscope

2 participants

Aller en bas

aide plugin horoscope Empty aide plugin horoscope

Message par halim Sam 6 Jan - 15:42

bonjour, stephane un petit aide pour le plugin horoscope,le plugin fonctionne bien avec tout les signes astrologique , en faite c'est seulement avec un seul signe: le signe de la balance, la regle passe un peux mal
quand je dicte dans la phrase sans le mot "la" la regle passe mais si je dicte dans la phrase, exemple: donne moi l'horoscope de la balance , soit il ne reconnais pas la regle sois il prend le mot "la" dans la phrase , donc ne passe pas la regle


{
"modules": {
"Horoscope": {
"version": "1.0",
"name": "horoscope",
"rules": ["horoscope"]
}
}
}

exports.action = function(data, callback){

let client = setClient(data);
info("Horoscope from:", data.client, "To:", client);
horoscope (data, client);
callback();
}

function horoscope (data, client) {

const rule = data.action.rawSentence;
const signe = rule.replace(/donne-moi|quel|est|l'|horoscope|pour|le|de|du|des|signe/gi, "").replace("s", "").replace("la"," ").replace("corpion", "scorpion").replace("poison", "poissons").replace("balance", "balance").trim();

const cheerio = require("cheerio");
fetch(`https://www.horoscope.fr/horoscopes/aujourdhui/${signe.toLowerCase().replace("é", "e")}`)
.then(response => {
if (response.status !== 200) {
throw new Error(`La connexion à échoué, code erreur:${response.status}`);
 }
return response.text();
})
.then((html) => {
const $ = cheerio.load(html);
const signeHoro = $('#__next > div > div.MainLayout_children__BSrlk > div.DailyHoroscopeContent_dailyHoroscopeContent__QrsY9.DailyHoroscopeContent_horoscopeContent__jI_SZ > div.DailyHoroscopeContent_contentWrapper__wemp0 > div.DailyHoroscopeContent_rightSide__Rme6b > section:nth-child(10) > div > p').text();
Avatar.speak(`Horoscope pour le signe ${signe}, ${signeHoro}`, data.client, () => {
Avatar.Speech.end(data.client);
});
})
.catch (error => {
Avatar.speak(`Je n'arrive pas a accédé au site,  ${error}`, 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
halim

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

Revenir en haut Aller en bas

aide plugin horoscope Empty Re: aide plugin horoscope

Message par Avatar Sam 6 Jan - 19:56

A mon avis le signe est toujours le dernier mot de la phrase.
Donc il suffit juste de spliter la phrase et de le prendre plutôt que de remplacer tous les mots par une chaine vide.
Ensuite tu dervais créer un tableau avec les signes, faire une comparaison et prendre la bonne syntaxe.
Ca devrait pas excéder 10 lignes de dev maxi

A+
Avatar
Avatar

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

Revenir en haut Aller en bas

aide plugin horoscope Empty Re: aide plugin horoscope

Message par halim Sam 6 Jan - 22:04

merci pour ta réponse stephane , j'ai déja penser a créer un tableaux avec les signes et aussi rajouter une condition if , else, ou cas il ne trouve pas le signe dans la regle

merci encore pour ton aide
halim
halim

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

Revenir en haut Aller en bas

aide plugin horoscope Empty Re: aide plugin horoscope

Message par halim Lun 8 Jan - 10:44

rebonjour stephane,
j'ai un tout petit peux tricher, j'ai était aider par google bard sur une syntaxe :
le plugin est fonctionnel, j'ai aussi rajouter dans le fichier propriété une petit régle un seul mot "le signe"; "rules": ["horoscope","sign"]

const rule = data.action.rawSentence;
const signeRegex = /(bélier|taureau|gémeaux|cancer|lion|vierge|balance|scorpion|sagittaire|capricorne|verseau|poissons)/i;
const match = rule.match(signeRegex);
const signe = match ? match[0] : null; // ici aider
if(!signe) {
Avatar.speak(`je n'ai pas compris le signe que tu recherche!`, data.client, () => {
Avatar.Speech.end(data.client);
});
return;
} else {
fetch(`https://www.horoscope.fr/horoscopes/aujourdhui/${signe.toLowerCase().replace("é", "e")}`)
// do stuf .......
}
merci,
halim
halim

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

Revenir en haut Aller en bas

aide plugin horoscope Empty Re: aide plugin horoscope

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