Closed jzarca01 closed 5 years ago
Salut,
Je regarderai demain tes plugins et je ferai des pull requests (sauf si tu veux m'ajouter comme contributeur) si y'a besoin de modifier des choses. Une fois que tout sera OK, je pourrai les ajouter sur le site !
Concernant ta question, je ne comprends pas en quoi c'est gênant l'ordre de chargement... Je regarderai ton code pour voir comment tu gères ça.
Je suis en soirée là, donc je vois tout ça demain 😉
Par ailleurs, assistant-deliveroo se base sur assistant-notifier pour communiquer avec l'utilisateur mais actuellement les plugins sont chargés dans l'ordre défini par le package.json, et vu que deliveroo est avant notifier il faut changer l'ordre à la main.
Alors, déjà j'ai testé avec Node v6 et ça ne fonctionne pas à cause du async. Donc faudra que je précise qu'il faut au moins Node v8 pour faire fonctionner ton plugin (ce qui devrait être la grande majorité).
Ensuite, j'ai bien Notifier qui est chargé après Deliveroo :
[assistant] Assistant v2.0.5 : Chargement en cours...
[assistant] 2 plugins trouvés.
[assistant] Chargement du plugin 'deliveroo' (v2.0.0)
[assistant-deliveroo] Plugin chargé et prêt.
[assistant] Chargement du plugin 'notifier' (v2.1.1)
[assistant-notifier] Plugin chargé et prêt.
Mais pourtant ça ne cause pas d'erreur et j'ai bien Notifier qui me dit : "Un problème est survenu avec le traqueur" (étant donné que je n'ai pas de compte Deliveroo ^^). Donc je ne vois pas où est ton problème en fait ? T'as quoi comme erreur exactement ? À quel moment/niveau ?
Concernant le plugin pushover
, quel est l'avantage par rapport à utiliser directement le service Pushover déjà fourni par IFTTT ? Car là tu fais Google Home -> IFTTT -> Pushbullet -> assistant-plugins -> Pushover
, au lieu de Google Home -> IFTTT -> Pushover
Le problème était au niveau de la méthode init
init(plugins) {
this.plugins = plugins
A ce moment-là, this.plugins
ne contient pas notifier puisqu'il n'est pas encore chargé.
Du coup, lorsque j'exécute this.plugins.notifier.action(`Votre livraison en est à l'étape:....`)
il ne le connait pas.
Cependant, d'après ce que tu me dis this.plugins
se met bien à jour à un moment sinon tu n'aurais rien pu entendre.
Concernant Pushover, je l'utilise au sein d'une autre branche de assistant-deliveroo
pour m'envoyer des notifications push directement sur mon téléphone comme ceci
if (this.plugins.pushover)
this.plugins.pushover.action(`Deliveroo`)
Cependant, d'après ce que tu me dis this.plugins se met bien à jour à un moment sinon tu n'aurais rien pu entendre.
Oui oui ! C'est pour cela que je suis étonné que chez toi il ne fonctionne pas... Si je mets :
for (let key in this.plugins) {
console.log(key)
}
Au début de async trackOrder
ça m'affiche :
[assistant] Appel du plugin 'deliveroo'
assistant
bluetooth
deliveroo
freebox
ifttt
launch
notifier
ping
temperature-local
transport-montpellier
wait
Qu'est-ce que cela donne chez toi ?
Concernant pushover
, je comprends mieux. Par contre, il n'est pas nécessaire. Tu peux utiliser le plugin IFTTT (que je viens de mettre à jour pour intégrer les paramètres et j'ai mis un exemple d'utilisation pour Pushover).
L'intérêt est que tu n'es pas obligé de créer une application Pushover (pour avoir le appKey
), et ni d'installer/créer un plugin spécifique pour ça.
Il te suffit de faire :
if (this.plugins.ifttt)
this.plugins.ifttt.action(`pushover`, {value1:"Titre de ma notification", value2:"Corps de ma notification"})
En ayant créé l'applet WebHook-PushOver qui va bien dans IFTTT (voir l'exemple sur https://aymkdn.github.io/assistant-plugins/?plugin=ifttt)
C'est bon pour Deliveroo : https://www.npmjs.com/package/assistant-deliveroo
Et pour Pushover, même si tu n'en vois pas l'utilité : https://www.npmjs.com/package/assistant-pushover
C'est publié sur le site : https://aymkdn.github.io/assistant-plugins/?plugin=deliveroo
Merci ! :-)
Hello,
Juste pour t'informer que j'ai crée deux nouveaux plugins:
Par ailleurs, assistant-deliveroo se base sur assistant-notifier pour communiquer avec l'utilisateur mais actuellement les plugins sont chargés dans l'ordre défini par le package.json, et vu que deliveroo est avant notifier il faut changer l'ordre à la main. Est-ce qu'il n'y aurait pas une meilleure solution ?
Merci, Jérémie.