Qu'est-ce que tu entends par exemple d'utilisation ? Un exemple d'échange XML ou des cas d'utilisation pratique ?
Je ne suis pas trop entré dans les détails internes parce que je voulais surtout montrer l'intérêt de la fonctionnalité, et la XEP est assez facile à lire.
En gros le principe c'est que tu récupères une liste de commandes disponibles via disco, ou alors tu connais déjà un nœud à utiliser (parce que défini dans une autre XEP, ou tu sais que c'est ce que tu utilises avec ton robot). Ensuite tu commences une session (associée à un id) avec cette commande, et tu peux effectuer une action:
cancel pour annuler
prev pour revenir en arrière
execute pour lancer une commande ou continuer la session
next pour passer à la page suivante
complete pour finir la sesssion
Tu as un exemple complet dans la XEP, c'est vraiment simple.
Pour un robot tu peux t'en servir pour plein de choses: lui dire de faire quelque chose, ou avoir un menu de configuration, pour récupérer son état, etc.
Pour un bot logiciel, plutôt que d'avoir à taper « !ta_commande » dans une discussion, tu as un menu avec un vrai formulaire et des informations typées (bien sûr ça ne t'empêche pas d'ajouter des commandes « !ta_commande » si tu aimes mieux). Comme tu peux savoir très facilement si tu es admin ou utilisateur lambda (il suffit de regarder le jid), tu peux fournir un menu différent selon les cas (par exemple permettre de déconnecter ou relancer le bot si tu es admin). Tu peux même fournir des commandes dans différentes langues si tu veux, en regardant l'attribut xml:lang de la requête (cf la section 3.7).
[^] # Re: Des exemples simples?
Posté par Goffi (site web personnel, Mastodon) . En réponse au journal Parlons XMPP - épisode 6 - les commandes à distance. Évalué à 4.
Salut,
Qu'est-ce que tu entends par exemple d'utilisation ? Un exemple d'échange XML ou des cas d'utilisation pratique ?
Je ne suis pas trop entré dans les détails internes parce que je voulais surtout montrer l'intérêt de la fonctionnalité, et la XEP est assez facile à lire.
En gros le principe c'est que tu récupères une liste de commandes disponibles via disco, ou alors tu connais déjà un nœud à utiliser (parce que défini dans une autre XEP, ou tu sais que c'est ce que tu utilises avec ton robot). Ensuite tu commences une session (associée à un id) avec cette commande, et tu peux effectuer une action:
cancel pour annuler
prev pour revenir en arrière
execute pour lancer une commande ou continuer la session
next pour passer à la page suivante
complete pour finir la sesssion
Tu as un exemple complet dans la XEP, c'est vraiment simple.
Pour un robot tu peux t'en servir pour plein de choses: lui dire de faire quelque chose, ou avoir un menu de configuration, pour récupérer son état, etc.
Pour un bot logiciel, plutôt que d'avoir à taper « !ta_commande » dans une discussion, tu as un menu avec un vrai formulaire et des informations typées (bien sûr ça ne t'empêche pas d'ajouter des commandes « !ta_commande » si tu aimes mieux). Comme tu peux savoir très facilement si tu es admin ou utilisateur lambda (il suffit de regarder le jid), tu peux fournir un menu différent selon les cas (par exemple permettre de déconnecter ou relancer le bot si tu es admin). Tu peux même fournir des commandes dans différentes langues si tu veux, en regardant l'attribut xml:lang de la requête (cf la section 3.7).