- un chan à connecter.
- un compte utilisateur qui servira de bot (un seul bot peut servir pour tous les scripts)
##instance 1:
-
Administration -> Intégration -> Nouvelle intégration -> incoming webhook:
-
canal: le nom du canal à partager sur cette instance (précédé de #)
-
publié en tant que: nom du bot de cette instance
-
Script activé: Oui
-
Script:
class Script { process_incoming_request({ request }) { // console is a global helper to improve debug console.log(request); return { content: { username: request.content.user_name, icon_url: '/avatar/' + request.content.user_name + '.jpg' , text: request.content.text } }; return { error: { success: false, message: 'Error example' } }; } }
-
-
Sauvegarder les modifications
-
la sauvegarde entraine la génération de l'URL, à garder de coté pour la suite.
##instance 2:
- Administration -> Intégration -> Nouvelle intégration -> outgoing webhook:
-
canal: le nom du canal à partager sur cette instance (précédé de #)
-
URLs: L'URL du webhook entrant (incoming) de l'étape précédente.
-
publié en tant que: nom du bot de cette instance
-
Script activé: Oui
-
Script:
Attention pensez à remplacer "nomdubot" par le pseudo du bot dans le scriptclass Script { prepare_outgoing_request({ request }) { //console.log request let match; // Change the URL and method of the request match = request.data.user_name.match(/nom_du_bot/); if (match) { return { // url: request.url + '&parse_mode=Markdown' + '&text=' + '*' + request.data.user_name+ '*: _' + request.data.text + '_', //no get method so nothing will happen avoid looping of messages }; } else { return { url: request.url, content: JSON.stringify({"user_name":request.data.user_name,"text":request.data.text}), method:'POST' }; } } }
Après cette étape tout les messages de posté dans le chan de l'instance 2 doivent arrivé dans celui de l'instance 1,
Ensuite on fait la même chose dans l'autre sens.
##instance 2:
cf Instance 1 incoming
##instance 1:
cf Instance 2 outgoing
La communication est maintenant opérationelle dans les deux sens.