Slack est un parfait lieu d’échange, que ce soit en entreprise (comme dans ma boite Evaneos) ou pour des communautés autonomes (comme celle de Scotch.io ou Frontend FR par exemple).

Tout comme sur les autres réseaux sociaux, on y partage beaucoup de liens, et on a souvent envie de les repartager sur le/les comptes Twitter de la communauté/entreprise. Par exemple, chez Evaneos, on pense à alimenter des comptes twitter de veille aussi bien UX que dev.

Et ainsi naquit le bot

La solution pour éviter de partager les accès à tout le monde et de le faire depuis Slack directement: un petit robot Hubot que vous pouvez vous aussi utiliser.

Que fait ce robot ?

Ce robot slack est visible comme n’importe quel autre utilisateur normal.

On l’invite dans un chan, et lors de nos discussion, on peut lui demander de publier un lien. En fonction du chan sur lequel il est (chan publique, privée ou en DM), il publiera sur un compte twitter ou un autre en fonction de votre configuration.

hubot slack twitter demo

Ca marche comment ?

Vous devez avoir d’un serveur sur lequel installer le bot, mais la mise en place sur un serveur heroku est aussi vraiment triviale ou bien un simple Raspberry peut suffire.

Une fois l’installation faite de Hubot (3 minutes), vous ajoutez simplement le plugin hubot-slack-twitter, définissez vos comptes twitter en les liant aux chans sur lesquels il sera actif. Vous invitez le bot et pouvez lui demander de twitter vos liens avec:

@monrobot tweet http://tilap.net/ Un site super

Comment est fait ce robot ?

Le robot est techniquement simple: il est basé sur Hubot, une base technique pour faire des robots interactifs sur IRC, avec un adaptater Slack tout fait. On peut alors facilement lui ajouter des fonctionnalités, soit en les codant directement, soit en ajoutant des outils déjà près à l’emploi. Ca va du simple fait de dire « bonjour » quand quelqu’un rejoint un chan, que proposer des gif animé, gérer votre calendrier Google, à chercher des infos sur wikipedia.

Les plugins peuvent être codés en coffee ou en javascript (node).

Le robot en question est en node ES5, et se déclenche sur demande suivant un pattern. Vous pouvez faiclement l’installer, l’utiliser ou en faire presque tout ce que vous voulez :

Page Github du projetle paquet NPM

(le design est vraiment laid sur npm…)