2ec0b4/kaamelott-soundboard

Plugin slack

RemyMaucourt opened this issue · 9 comments

J'aimerais beaucoup partager à mes collègues des sons qu'ils pourraient lire directement dans Slack.

Il y a ces dépôts qui existent :
https://github.com/loicbourg/kaamelott-soundboard-slack
https://github.com/matco/kaamelott-soundbot
Lequel correspond le plus à ce que tu attends ?

Cela dit, on doit pouvoir ajouter des meta sur la page pour améliorer la lecture directement dans Slack, sans forcément faire de plugin...

De mémoire j'avais essayé avec des méta dans un premier temps et ça n'avait pas été concluant. Du coup c'est pour ça que je suis passé par l'upload de fichier direct dans slack. Niveau déploiement du bot il y a une branche pour Azure et une pour Heroku pour faire un déploiement one click de mon bot :)

dzen commented

Hello,
Est-ce qu'une version oembed ne serait pas plus simple ?
https://oembed.com/

Salut, quand je parlais de métas, de mon coté je parlais bien de oembed. Quand j'avais testé il y a 2 ans, ça ne passait pas mais à retenter effectivement.

Bon je viens de tester à nouveau et ça ne marche toujours pas... En cherchant un peu j'ai trouvé une réponse de Slack sur Twitter qui explique qu'ils ne veulent pas unfurl d'url iframe à part pour de rares exceptions comme Vimeo, Youtube, Souncloud, etc (source: https://twitter.com/slackhq/status/592790813232496642?lang=fr)

👋
En effet, c'est ce que j'avais pu lire il y a quelques mois en faisant quelques recherches. C'est dommage...

lburg commented

Salut ! Bon je suis arrivé à la même conclusion que vous, mais avec pas mal de dev, ça m'apprendra à foncer tête baissée sans jeter un œil aux tickets avant !

Néanmoins, la preview Twitter/autre reste possible, comme le prouve ce commentaire. Ça reste difficile en l'état : l'app étant en une seule page, il est impossible d'avoir les meta données pertinentes à fournir dans le tag <head> du HTML.

Je vois deux solutions :

  • comme ouich.es, générer une nouvelle page HTML à chaque clic, avec ses tags meta injectés depuis le JS/template ;
  • insérer un serveur plus malin qu'un bête Apache/Nginx devant l'appli pour injecter le tag qui va bien en fonction de l'URL dans la page, avant de la retourner pour la première fois (je vois à peu près comme faire avec flask/uwsgi, mais ça introduit un nouveau langage). Le comportement reste le même, les boutons ne rafraîchissent pas la page, c'est simplement le serveur qui fait le travail au moment de servir la page partagée/lorsqu'elle est consultée par un bot à la recherche de données.

Qu'en pensez-vous ?

Yes j'avais déjà pensé à faire une bibliothèque de tweet embarquant les sons et meme envisagé de faire un compte par personnage avec les répliques associées pour avoir un bon rendu. Je ne suis pas allé plus loin car vis à vis des droits d'auteur je sais pas trop comment ça se serait passé.

Je peux rater quelque chose mais que ce soit comme pour ouich.es ou la deuxième solution que tu proposes, cela permet d'afficher dans slack les métas mais pas l'intégration du son donc je vois pas trop lien. Je loupe quelque chose ?

Sinon une autre possibilité est de faire la meme intégration que celle que j'ai faite dans ma slack command (voir gif). Grosso modo upload du fichier son directement mais déclenché via (slack app unfurling)[https://api.slack.com/docs/message-link-unfurling] (ici un exemple pour Flickr).

Je clos cette conversation, on est tous d'accord pour dire qu'il est impossible de pouvoir lire les répliques directement dans Slack sans passer par une méthode comme décrite par @MikAdoo

Je vais ouvrir une autre conversation pour l'amélioration des meta