Discord à la discussion ?

Bonjour, existe-t-il un moyen de créer automatiquement des posts sur Discourse à partir de messages publiés sur Discord ?

1 « J'aime »

Bonjour Sam ! Bienvenue dans notre communauté. Jetez un œil à Set up Discord notifications with the discourse-chat-integration plugin

Pour la suite, essayez de faire une recherche avec :mag: — de nombreuses questions ont déjà été discutées ici, et la recherche est très efficace pour les trouver.

1 « J'aime »

Merci, mais j’ai cherché et ce n’est pas ce que je recherche. Il s’agit d’une intégration de Discourse vers Discord, et non l’inverse.

Scénario exemple :
Un canal Discord reçoit un message, qui est ensuite envoyé vers Discourse pour créer un fil de discussion avec ces informations.

2 « J'aime »

L’intégration de chat peut le faire dans Slack ; vous recherchez la fonctionnalité d’enregistrement des transcriptions à implémenter pour Discord.

2 « J'aime »

Merci, donc il n’existe pas de méthode automatisée pour le faire alors.

Vous pourriez le faire avec un bot Discord personnalisé qui copie le contenu des messages et envoie une requête POST vers votre forum.

Cela nécessiterait un hébergement supplémentaire, sauf si vous souhaitez écrire votre bot en discordrb et utiliser un plugin sur votre forum.

Essayez ceci :

https://meta.discourse.org/t/how-to-connect-discourse-with-hundreds-of-apps-using-integromat/

Merci, j’ai essayé cela, mais pour une raison quelconque, je n’arrive pas à faire en sorte que la variable d’ID de message correcte soit configurée pour fonctionner.

Leur support technique peut très probablement vous aider à trouver la solution.

Comment cela fonctionnerait-il en termes de permissions et d’appel ?

Souhaitez-vous que tous les messages soient copiés, ou uniquement ceux d’un canal spécifique ? Seraient-ils tous ajoutés à un seul sujet ? Qu’est-ce qui déclencherait la création d’un nouveau sujet ?

Tous les utilisateurs de Discord auraient-ils le droit de le faire ?

Où cela aboutirait-il ? Sans catégorie ?

3 « J'aime »

Juste les messages du canal d’appel, idéalement jusqu’à un point d’arrêt spécifié.

Une approche plus élaborée consisterait à :

  • cliquer sur « Répondre » sur le premier message que vous souhaitez publier
  • écrire @VotreCompteBotIntégrationDiscourse, en ajoutant éventuellement transcript ou l’une de ses traductions à la fin
  • un enregistrement de ce message jusqu’à l’instant présent, limité à environ 50 messages, est publié sur Discourse, en tant que l’utilisateur actif si possible

Vous pourriez aller encore plus loin si vous souhaitez autoriser une saisie interactive, comme définir un point d’arrêt personnalisé, exclure certains messages ou choisir une catégorie de destination personnalisée. C’est la meilleure expérience utilisateur que je puisse imaginer sans nécessiter d’échanges successifs.

En réalité, il serait assez simple de rendre cela interactif :

const BASE_URL = "https://discourse.example.com";

// préconditions :
// msg.type == REPLY (19)
// msg.mentions ou msg.mention_roles contient le bot
// ceci est en JS mais devrait être en Ruby
function onMentionWithReply(msg) {
  discord.sendMessage({
    content: "<" + BASE_URL +
      "/chat-integration/discord/make-transcript/" +
      msg.channel_id + "/" +
      msg.message_reference.message_id + ".." + msg.id +
      ">";
    type: REPLY,
    message_reference: { message_id: msg.id },
  });
}

/chat-integration/discord/make-transcript/:channel_id/:id1..:id2 afficherait une page interactive sur Discourse où vous pourrez prévisualiser les messages et les finaliser.

Pièges :

  • Il faut vérifier les autorisations de l’utilisateur accédant à cette page pour éviter de divulguer indûment des enregistrements.
4 « J'aime »

Actuellement, j’ai un lien de Slack vers Trello, et de Trello vers Discord. J’aimerais donc que ces publications soient créées directement sur Discord, ou, si possible, que Trello génère une nouvelle publication sous un sujet spécifique.

Trop d’endroits où poster et pas assez de temps ! :slight_smile:

Merci, je vais jeter un coup d’œil.

Oh ! Désolé. Je ne savais pas que cette intégration ne publie pas dans les deux sens, comme le fait l’intégration Slack.

En général, je me demande vraiment… pourquoi voudriez-vous faire cela ? Vous encombrerez votre mémoire à long terme sur Discourse avec des bavardages.

Pas de problème, les publications du canal que je souhaite partager sur Discourse sont des annonces de nouvelles mises à jour du jeu. C’est très chronophage de publier la même chose à plusieurs endroits, et Discourse est souvent oublié. Je tente donc de réduire ma charge de travail tout en espérant augmenter l’activité sur Discourse.

1 « J'aime »

Ok, j’ai trouvé une solution de contournement qui fera l’affaire, je suppose.
J’ai dû utiliser Zapier (l’inconvénient est que le plan gratuit ne suffit pas pour couvrir tous les messages) pour connecter mon Trello à Discourse afin de répondre à un fil que j’ai dû créer pour cela.
Le flux est donc le suivant :
L’API de la base de données envoie des messages vers Slack, Slack crée une carte Trello, et Trello publie ensuite sur Discord et Discourse. :slight_smile:

Sauf que maintenant, je suis dans une boucle où Discourse republie sur Discord lol. Y a-t-il un moyen d’exclure mes messages de cela ?

J’ai ajouté une fonctionnalité liée à : Discord Bot Construction Kit 🤖 - #79 by merefield

Si vous désignez un canal comme « Canal des annonces », tout message saisi dans ce canal sera publié dans votre sujet Discourse désigné.

(La mise à jour surveille également les annonces de Discourse qui sont copiées vers Discord dans le même canal)

Cela se produit également dans mon implémentation, mais ce n’est pas une boucle infinie ; cela confirme simplement que le message a été ajouté. Vous pouvez éviter cela en plaçant le sujet Discord dans Discourse à un endroit différent et en évitant les catégories surveillées.

5 « J'aime »

Oh, merci, cela pourrait m’éviter d’utiliser une autre application tierce ! Je verrai simplement comment cela gère les liens d’images.

1 « J'aime »

En fait, je ne comprends pas vraiment vos instructions. Je ne trouve pas cela dans les menus de Discourse sous l’onglet Plugin, et je ne comprends pas comment installer votre plugin.

Veuillez poster les problèmes spécifiques liés aux instructions dans le sujet du plugin.

Votre problème est actuellement un peu vague pour que je puisse vous aider. Assurez-vous d’avoir lu l’ouverture du sujet (OP) en détail, puis postez un problème précis et je serai ravi de vous aider.

1 « J'aime »