Pont de chat Discourse (Telegram)

:information_source: Résumé Connectez votre chat Discourse à Telegram
:hammer_and_wrench: Lien du dépôt \u003chttps://github.com/Lhcfl/discourse-chat-bridge\u003e
:open_book: Guide d’installation Comment installer des plugins dans Discourse

Je travaille à connecter Discourse à d’autres plateformes. Actuellement, il ne prend en charge que Telegram, mais je prévois de prendre en charge Matrix, et peut-être Discord ou QQ à l’avenir, en fonction de mon énergie et du soutien que je reçois.

\u003e Ce plugin ne prend en charge que la branche absolument la plus récente de Discourse test-passed. Pourquoi ? Parce que Discourse Chat modifie fréquemment son code, je dois me synchroniser avec eux.
\u003e
\u003e Donc, si le plugin est disponible sur votre site et que le plugin est important pour vous, veuillez réduire la fréquence de mise à jour de Discourse, car je n’aurai peut-être pas le temps de synchroniser la version du code de correction avec Discourse.

Pont Telegram

NOTES IMPORTANTES

Ce plugin utilise des noms d’utilisateur avec les suffixes .tgid et .tg pour synchroniser les informations utilisateur (Telegram
-\u003e Discourse)

S’il existe des noms d’utilisateur avec les suffixes ci-dessus sur votre site, l’utilisateur peut être détourné par ce plugin !

Liste des fonctionnalités

Ce plugin est actuellement mon propre travail. Il m’est difficile de consacrer trop d’énergie à la correction de bugs que je juge pas assez urgents. Donc, si le bug que vous trouvez ne figure pas dans cette liste, veuillez envisager une PR.

Ce plugin prend en charge la synchronisation du contenu suivant :

  • Texte brut (Bien sûr !)

  • Texte formaté : Gras, Italique, barré, divulgâche, code en ligne et

    "bloc de code"
    
  • Citations (uniquement Discourse -\u003e Telegram)
    Nous ne prenons pas en charge les citations pour Telegram -\u003e Discourse pour le moment car Telegram n’a pas encore mis à jour son API pour les citations.

  • Images, autocollants et vidéos
    Au moment où j’écris cette phrase, quelque chose semble cassé dans Discourse. Le simple fait de publier une image sans légende ne déclenche pas l’événement :chat_message_created. Par conséquent, il est impossible de transférer des images de Discourse vers Telegram. Cette erreur peut être résolue automatiquement à l’avenir, mais quoi qu’il en soit, je la corrigerai.

  • Répondre

  • Édition de message (Texte uniquement)

  • Transférer des messages (Telegram -\u003e Discourse)

  • Suppression de message (Discourse -\u003e Telegram)
    Nous ne prendrons PAS en charge la suppression de messages pour Telegram -\u003e Discourse car l’API du bot Telegram ne fournit pas d’interface pour écouter les événements de suppression de messages.

  • Avatar et noms d’utilisateur (Telegram -\u003e Discourse)

Le contenu suivant n’est pas implémenté et est prévu pour être pris en charge à l’avenir

  • Citation (Telegram -\u003e Discourse)
  • Albums d’images (Discourse \u003c–\u003e Telegram)
    Actuellement, seule la synchronisation de la première image est prise en charge.

Aperçu


Configuration

SiteSetting.chat_telegram_bridges

C’est une liste et vous devez remplir chaque colonne dans ce format :

discourse_chat_channel_id,telegram_chat_id,bot_token

Par exemple

3,-123456789,123456789-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

connectera le canal de chat Discourse 3 \u003c–\u003e chat Telegram -123456789 en utilisant le bot avec le jeton 123456789-XXXXXXXXXXXXXXXXXXXXXXXXXXXX

N’ajoutez PAS d’espaces après les virgules.

Ce n’est certainement pas élégant, mais je n’ai pas l’énergie supplémentaire pour écrire une belle interface de configuration. Veuillez faire une PR si vous le souhaitez.

Autoriser la synchronisation des vidéos et des autocollants vidéo

Les autocollants dynamiques, les gifs et les vidéos de Telegram sont fondamentalement au format webp. Vous devez autoriser leur téléchargement dans les paramètres du site authorized_extensions, sinon vous n’obtiendrez qu’un [Ce message n’est pas encore pris en charge]

CHANGELOG

  • 07/11/2023 Publication 0.0.1

À FAIRE

  • Connecter Matrix à Discourse
23 « J'aime »

Ça a l’air incroyable, bon travail ! :+1:

Cela devrait être site_settings :slight_smile:

2 « J'aime »

Oh mon dieu, merci, je vais le changer tout de suite

…Et ça devrait être dans client.en.yml. J’ai écrit le code tôt le matin, et il semble que la qualité du code soit un peu mauvaise. :melting_face:

3 « J'aime »

Excellent travail, merci de l’avoir créé !

4 « J'aime »

Je l’ai testé un peu, et ça fonctionne bien ! :+1:

2 « J'aime »

Bonjour !
Merci pour ce plugin formidable :raised_hands: C’est exactement ce à quoi je pensais depuis quelques mois :confetti_ball:. Vous semblez avoir saisi mes pensées :sweat_smile:
Je voudrais clarifier. Le plugin fonctionnera-t-il uniquement pour le mode chat ou pourra-t-il également être connecté à un sujet ?

Pouvez-vous préciser un peu plus ?

2 « J'aime »

Bonjour ! Désolé si je n’ai pas assez exprimé mes pensées :pray:. J’utilise Google Traduction et je ne suis pas sûr de bien comprendre les messages sur ce forum. Et je ne sais pas programmer, donc je ne comprends pas toujours les messages des programmeurs. Laissez-moi vous montrer ma question sous forme de diagramme :

Je comprends probablement ce que vous voulez dire… Voulez-vous que le contenu du chat soit publié simultanément dans le sujet ?
J’avais auparavant un logiciel nodejs tout prêt, mais il fallait l’adapter à d’autres forums. Et j’ai été très occupé récemment et je n’ai pas le temps de faire cela.
Pour le moment, il ne prendra en charge que le chat.

2 « J'aime »

Je ne suis pas tout à fait sûr d’avoir bien compris votre question, mais je vais essayer d’expliquer étape par étape ce que j’envisage. Entre 2021 et 2022, j’ai tenté de créer un forum basé sur Discourse. Cependant, malgré la pertinence du forum, le projet n’a pas abouti car, dans notre région (Asie centrale), la majorité des habitants préfèrent utiliser des messageries comme Telegram et WhatsApp plutôt que de s’inscrire et d’utiliser de nouvelles fonctionnalités sur des sites web.

Avec l’avènement de l’intelligence artificielle, j’ai observé des changements dans les règles du jeu. Divers services, y compris des sites web et des applications conçus pour l’utilisation de l’intelligence artificielle, ont vu le jour. Les messageries ne peuvent pas fournir pleinement la fonctionnalité pour travailler avec l’intelligence artificielle, bien que Telegram soit plus avancé que WhatsApp. En apprenant l’existence de nouveaux plugins dans Discourse, tels que Discourse AI et Chatbot, j’ai réalisé que c’était une nouvelle opportunité pour mon site web.

Je veux exploiter pleinement la capacité de créer des publications thématiques (sujets). Récemment, j’ai posé une question ici - sur Meta à propos du plugin Chatbot, me demandant si le chat GPT pouvait se souvenir du premier message et ne pas oublier le contenu du sujet principal après de nombreux messages dans le fil de discussion. Ensuite, @merefield a répondu que le chatbot se souviendrait toujours du premier message. Cela est devenu le critère principal pour appliquer ce plugin sur mon site.

Je prévois de créer des sections thématiques sur le forum pour interagir avec l’intelligence artificielle et de vraies personnes. Le format de communication dans Discourse par la création de sujets est techniquement plus avancé que les chats. Par conséquent, les chats ne conviennent pas entièrement à l’entraînement du bot car dans un chat, le bot peut ne pas se souvenir du sujet initial parmi de nombreux messages récents. Je prévois d’utiliser la capacité de créer des publications thématiques, d’entraîner le bot dans le premier message afin qu’il puisse répondre aux questions des utilisateurs dans le sujet spécifié.

Cependant, compte tenu de la popularité des messageries dans notre région et de l’habitude des gens d’utiliser les chats, je réfléchis à la manière d’offrir aux utilisateurs l’expérience du forum Discourse sans abandonner leurs messageries familières. Après avoir installé le plugin Discourse Chat Bridge, j’ai constaté qu’il connecte le chat Discourse au chat Telegram mais ne crée pas de pont entre une publication publiée sur le forum et le chat Telegram.

Mes projets comprennent :

  1. Un utilisateur (éventuellement du personnel du site) envoie un message privé (MP) au bot IA sur le forum avec des instructions sur la manière dont le bot doit répondre aux messages ultérieurs, comme conseiller les autres utilisateurs sur l’utilisation du forum.
  2. L’utilisateur relie ce message privé à l’intelligence artificielle dans un bot Telegram ordinaire.
  3. L’utilisateur partage le lien vers le bot Telegram avec d’autres utilisateurs qui ne sont pas encore inscrits sur le forum mais qui souhaitent en savoir plus.
  4. Chaque utilisateur, en cliquant sur le lien dans le bot Telegram, entame une conversation privée avec l’intelligence artificielle, qui répond et conseille conformément aux instructions publiées sur le forum.
  5. Tous les messages des utilisateurs adressés à l’intelligence artificielle sont publiés dans un sujet privé du forum. Ainsi, les utilisateurs de Telegram ne voient pas les messages des autres utilisateurs de Telegram, car chaque utilisateur communique séparément avec le bot Telegram.

Alors, prévoyez-vous d’utiliser le bot Telegram comme un entonnoir pour les utilisateurs qui viennent sur le forum ou voulez-vous permettre aux utilisateurs de rester uniquement sur Telegram en interagissant avec le bot IA (le bot IA étant un proxy entre le contenu du forum et l’utilisateur) ?

1 « J'aime »

Très bien… cela ressemble à une fonctionnalité très personnalisée et je ne pense pas que j’ajouterais cette fonctionnalité gratuitement, car mon énergie est très limitée.

1 « J'aime »

Oui, c’est exact, le bot/chat Telegram sera utilisé comme un miroir et dupliquera le contenu du forum et inversement.

Ok, je vous ai compris. Je suis actuellement en train de faire des travaux de préparation généraux sur mon site web. Si vous me le permettez, je reviendrai sur ce sujet dans quelques semaines avec des propositions plus spécifiques dans un message personnel à votre attention.

Je suis très intéressé par cela et je propose mon aide si vous en avez besoin.

1 « J'aime »

D’accord, merci pour l’offre :raised_hands:, je reviendrai dès que je serai prêt.

1 « J'aime »

Lors des tests, il semble que j’aie découvert un bug dans le plugin. Après avoir envoyé un message au chat via Telegram –> Discourse, rien n’apparaît sur le site dans le chat (parfois seul le nom d’utilisateur 1234567890.tgid apparaît). Pour résoudre ce problème, je dois actualiser la page du site. Après la mise à jour, le nom de l’expéditeur du message apparaît, mais le contenu du message lui-même n’est pas affiché. Pour résoudre ce problème, je réorganise le HTML et le texte du message de chat apparaît alors. Voici une vidéo :

De plus, je voulais clarifier. Si j’envoie un message via Telegram à un chat de groupe sans utiliser le bouton Répondre, le message n’atteint pas le chat dans Discourse. Il s’avère que pour que le message soit envoyé, je dois sélectionner la fonction Répondre dans le chat Telegram. Mais que faire si je ne veux répondre au message de personne dans le chat, mais que je veux simplement envoyer un message avec une question à tous les membres du groupe ?

1 « J'aime »

J’ai remarqué ce problème il y a quelques jours, je n’ai jamais vraiment pris le temps de le résoudre. Ma liste de tâches est débordante en ce moment.

Une mise à jour récente de Discourse Chat a cassé ce plugin. Je dois trouver le temps de l’adapter, ou de soumettre directement les fonctions dont j’ai besoin au cœur.

J’attends une réponse. Maintenant, en l’absence de cette fonctionnalité, je dois monkey patcher, et mon plugin peut être cassé par un commit à tout moment.

2 « J'aime »

Ok, je vous ai compris. J’espère que l’équipe de développement portera attention à votre message :pray:

1 « J'aime »