Discourse Chat-Integration

:information_source: Chat Integration is for using an external chat system together with Discourse — you may be looking for Discourse Chat which adds Chat functionality directly to Discourse.

:discourse2: Summary Discourse Chat Integration allows you to integrate your chat system of choice with Discourse.
:open_book: Install Guide This plugin is bundled with Discourse core. There is no need to install the plugin separately.

Features

discourse-chat-integration allows sending notifications about new Discourse posts to ‘group chats’ on a number of instant messaging platforms.

Notifications can be triggered by new topics, new replies, messages to a group, or mentions of a group. A notification in your instant messaging system will look something like this:

Configuration

  1. In your site settings, check chat_integration_enabled is :heavy_check_mark:
  2. Click on one of the providers below to see provider-specific setup instructions
  3. For more details, read ‘Configuring Rules’ below
Provider Notifications Slash Commands Post Transcripts Threaded Replies
Slack :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
Telegram :white_check_mark: :white_check_mark:
Discord :white_check_mark:
Mattermost :white_check_mark: :white_check_mark:
Google Chat :white_check_mark:
Matrix (element.io) :white_check_mark:
Zulip :white_check_mark:
Rocket.Chat :white_check_mark:
Gitter :white_check_mark:
Flowdock :white_check_mark:
Stride Docs
Microsoft Teams :white_check_mark:
Basecamp Docs
IRC Cloud Docs
Flock Docs
Webex :white_check_mark:

Terminology

There are three key concepts in discourse-chat-integration: Providers, Channels and Rules

Configuring Rules

In your forum’s admin panel, under Plugins, you should see a Chat Integrations section. Within that there will be tabs for each of your enabled providers:

Rules have a number of options which can be configured:

  • Type:
    • Normal - send notifications based on standard posts on the forum
    • Group Message - send notifications based on private messages which a specified group is a part of
    • Group Mention - send notifications whenever specified group is @mentioned in a standard post on the forum (mentions in private messages are ignored)
  • Filter:
    • All posts with threaded replies - notify for new posts matching this rule, create per-topic threads on the chat provider (not available in all integrations)
    • All posts and replies - notify for new posts matching this rule
    • First post only - notify only for new topics matching this rule
    • Tag added to topic - notify when a tag is added to a topic (the create post for category and tag changes site setting must be enabled for this to work)
    • Mute - prevent notifications matching this rule
  • Category (if type is ‘Normal’)
    • Match posts based on their category. Leave as “(all categories)” to match all posts on the forum
  • Group (if type is ‘Group Message’ or ‘Group Mention’)
    • Specify the group you want to receive notifications for
  • Tags
    • Enter a list of tags to match posts with at least one of the listed tags. Leave blank to match all posts

Multiple rules

When multiple rules match a post, the top-most rule in the user interface is executed. Rules are first sorted according to the criteria:

  1. Group mentions
  2. Group messages
  3. Normal

and then sorted within that by

  1. Mute
  2. All posts and replies
  3. First post only

For example, with the following rules

Filter Category Tags
All posts and replies Mentions of: @team (all tags)
Mute Support (all tags)
First post only Support unsupported-install
All posts and replies (all categories) (all tags)
Notifications would be triggered for

but not for

Security/Permissions

The site setting “chat integration discourse username” allows you to secure your notifications against leaking private information.

By default the system account is used, which means that there is no restriction on notifications sent. To secure your notifications you should create a non-staff user with appropriate access privileges, and enter its username in the site setting.

Slash Commands

If your provider supports slash commands, you can manage rules from within your chat interface. Each provider varies slightly in syntax, but in general they follow a similar structure. (Note that at this time, only the Slack integration implements threads.)

The commands available are

Posting a transcript

If your provider supports transcript posting, you can post your instant messaging history to discourse. This is currently only supported for the Slack provider. Note: You will need to be using the “Access Token” method of connecting to Slack.

Send /discourse post to see the interface. The plugin will try and “guess” where your current conversation starts, by looking for a gap in the message history of more than 3 minutes.

Alternatively, you can specify a number of posts after the command, or a URL to the first message.

To load a transcript for a Slack thread, you can use /discourse post thread {url}, where {url} is the permalink of the first message in the thread. For example:

/discourse post thread https://<slackname>.slack.com/archives/C6029G78F/p1522952993000017

Alternatively, you can use /discourse post with a thread-specific permalink like this:

/discourse post https://foo.slack.com/archives/G49KKS6AX/p1523062012000911?thread_ts=1523091738.000088&cid=G49KKS6AC

In both cases the “first/last message” UI is skipped - the entire thread is included in the transcript.

Adding new providers

Option 1: Submit a PR implementing your provider:

Option 2: Use your own plugin:
It is possible for third party plugins to register new “providers”. As an example, I’ve created a provider which sends webhooks to IFTTT. This could be used to automatically publish all posts in a category to facebook… or turn on your light when someone posts in Feature… or feed your fish whenever there’s a new Plugin.

CHANGELOG

TODO

Last edited by @tobiaseigen 2025-07-16T21:09:49Z

Check documentPerform check on document:
115 „Gefällt mir“

Es wäre interessant, Unterstützung für Discourse’s eigenes ActivityPub Plugin hinzuzufügen, damit die Veröffentlichung basierend auf Tags und anderen Filtern aus der Chat-Integration ausgelöst werden könnte.

1 „Gefällt mir“

Hallo, letztes Jahr hat Telegram Foren/Themen (Mini-Chats innerhalb von Gruppenchats) angekündigt. Ich habe versucht, jeden einzelnen Mini-Chat mit der einen oder anderen Kategorie meiner Website zu verknüpfen. Aber soweit ich das verstehe, werden Topic-Adressen vom Plugin nicht unterstützt? In meinem Fall hat jedes Thema beispielsweise eine Adresse wie folgt: @telegram_topic /1, @telegram_topic /2, @telegram_topic /3
Wenn ich einen Standard-Chatnamen in die Zeile einfüge, z. B. @telegram_chat, funktioniert das ohne Probleme.
Es wäre sehr praktisch, wenn das Plugin die Möglichkeit hätte, ähnliche Chat-Adressen (../1) einzufügen, dann müssten Benutzer nicht Abonnenten vieler unabhängiger Kanäle sein, die an bestimmte Kategorien der Website gebunden sind.

1 „Gefällt mir“

Haben Sie erwogen, Tags zu verwenden, um dies zu erreichen?

:denkend: Ich glaube, die Verwendung von Tags ist für meinen Fall nicht ganz geeignet. Denn selbst mit Hilfe von Tags möchte ich nicht, dass alle Benachrichtigungen in einem Kanal landen, was zu Informationsüberflutung führt. Gleichzeitig würde ich es, anstatt 20 Kanäle für 20 Kategorien/Tags zu haben, vorziehen, einen Gruppenchat zu haben, in dem ich mehrere Mini-Themen-Chats (nach Kategorie/Tag) organisieren kann, in denen jeder Benutzer den von ihm benötigten Minichat einsehen kann und die Möglichkeit hat, in andere Minichats zu schauen. Ich bin so beunruhigt, weil in meiner Region (Asien) die meisten Leute WhatsApp und Telegram-Chats nutzen – Foren sind nicht beliebt. Aber ich versuche, einen Kompromiss zu finden).\n\nPs. Wenn ich mich oft wiederhole, verurteile mich nicht, ich versuche nur, meine Gedanken richtig zu vermitteln, da ich Google Translate benutze.

1 „Gefällt mir“

Sie sollten in der Lage sein, zu filtern, welche Tags für welche Chats gelten, zumindest soweit ich Sie verstehe.

Mir scheint, wir reden über verschiedene Dinge :thinking: Ich habe keine Frage zum Filtern von Chats nach Tags/Kategorien.
Zum Kontext. Früher hatte Telegram Kanäle und Chats (außer Bots). Diese Kanäle/Chaträume haben einen Benutzernamen, ungefähr @chat_username oder @channel_username.
Seit letztem Jahr hat Telegram die Möglichkeit, Chats in Foren umzuwandeln, die thematische Mini-Chats wie diesen enthalten. Diese Mini-Chats haben ihre eigenen Benutzernamen, zum Beispiel @chat_username /1, @chat_username /2. Der Vorteil solcher Chats mit Minichats ist, dass der Benutzer nicht mehr mehrere voneinander getrennte Chats abonnieren muss, sondern nur einen Chat (z. B. mit dem Namen meiner Website) abonnieren und Zugang zu vielen Minichats (in meinem Fall würde jeder Minichat auf eine bestimmte Kategorie der Website abzielen) haben kann, die den Benutzer interessieren.
Jetzt möchte ich diese Minichats mit diesem Plugin verbinden, aber mir scheint, dass das Plugin den Minichat-Benutzernamen nicht als chat_username /1 unterstützt.

1 „Gefällt mir“

Gibt es eine Möglichkeit, eine Regel zu erstellen, mit der ich eine neue Nachricht und/oder eine Antwort markieren kann, damit sie nicht an das Ziel-Chatsystem (in diesem Fall Slack) gesendet wird?

Hallo Albert, wenn wir über normale Discourse-Tags sprechen, können Sie einen ‘Stummschaltungsfilter’ einrichten, um zu verhindern, dass Themen mit diesem Tag Benachrichtigungen in Slack auslösen.

Was einzelne Beiträge betrifft, gibt es jedoch keine Möglichkeit, sie herauszufiltern.

1 „Gefällt mir“

Ich glaube, ich habe den gleichen Wunsch wie du, Aizada:

Ich würde gerne einen Telegram-Gruppenchat haben können, mit aktivierten Themen (die den Kategorien auf Discourse entsprechen), und dann in den Einstellungen für die Discourse/Chat-Integration angeben, zu welchem Thema gepostet werden soll.

Ich habe versucht, jetzt einen Gruppenchat mit Themen zu erstellen (nur mit dem Bot und mir), aber wenn ich /help innerhalb eines Themas eingebe, antwortet der Bot im allgemeinen Chat.

Hast du dir das angesehen, @david? Ich habe diesen Stack Overflow-Thread gefunden, der zeigt, wie man die message_thread_id (die Themen-ID) erhält und besagt, dass die Bot-API dies in Version 6.3 unterstützt.

Danke für deine Arbeit! :heart_hands:t2:

1 „Gefällt mir“

Hallo @ErlendMS :wave:. Wir haben im Moment keine Verbesserungen für dieses Plugin auf unserer Roadmap, aber wenn jemand Unterstützung für ‘Threading’ (auch bekannt als Thema) für die Telegramm-Integration hinzufügen möchte, wäre das wahrscheinlich pr-welcome.

Wir haben einige Threading-Unterstützung in der Slack-Integration, daher sollte es möglich sein, einige dieser Logik wiederzuverwenden.

3 „Gefällt mir“

Ist es möglich, dieses Plugin zu verwenden, um Benachrichtigungen in Slack zu erhalten, wenn ein Beitrag zur Überprüfung markiert wird? Danke.

Bietet dieses Plugin zusätzliche API-Funktionen?

Wo beantrage ich eine PR-Überprüfung? Ich habe diesen PR Ende letzter Woche eingereicht, um einen neuen Anbieter hinzuzufügen, und er wartet immer noch auf einen Gutachter. Ich habe verschiedene Entwicklerhandbücher auf Meta durchgesehen und konnte keines für ordnungsgemäße PR-Anfragen finden.

Hier ist mein PR: FEATURE: Added Power Automate as a new provider by benoitdesnoyers · Pull Request #204 · discourse/discourse-chat-integration · GitHub

Danke,

1 „Gefällt mir“

Hallo Leute! Wir haben gerade diesen PR für das Chat-Integrations-Plugin zusammengeführt.

Diese Änderung zielt darauf ab, die Option tags_changed aus der Regel Filterung der Chat-Integration zu entfernen. Wir nehmen diese Änderung vor, da wir die Einstellung Erstellung eines kleinen Aktionsbeitrags, wenn sich die Kategorie oder Tags eines Themas ändern entfernen.

Die Funktionalität bleibt jedoch die gleiche, wenn Sie Discourse Automation installiert haben. Wenn Sie das nächste Mal die Migrationen für dieses Plugin ausführen, wird ein Skript zum Discourse Automation Plugin hinzugefügt, das ähnlich wie das aktuelle funktioniert.

Dies ist ein Beispiel für eine Automatisierung, die erstellt wird:

Sie wird basierend auf den Kategorien und beobachteten Tags, die ich habe, an meinen Kanal gesendet.

${ADDED_AND_REMOVED} ist der Standardtext; er verhält sich genauso wie die Regel.

Wir haben für diese Skriptoption auch einige Optionen hinzugefügt, die in der Nachricht verwendet werden können:

  • ${TOPIC} für den Thema-Namen
  • ${REMOVED_TAGS} für die entfernten Tags
  • ${ADDED_TAGS} für die hinzugefügten Tags
    Beide, entfernt und hinzugefügt, werden nur ausgelöst, wenn sie einen Tag enthalten.
    Zum Beispiel: Die Nachricht added: ${ADDED_TAGS} wird nur ausgelöst, wenn hinzugefügte Tags vorhanden sind.
4 „Gefällt mir“

Wir hatten ein Problem mit dem anderen PR (Benutzer, die andere Anbieter nutzten, konnten die Automatisierung nicht nutzen, wenn sich Topic-Tags änderten). Um dies zu beheben, haben wir diesen neuen PR erstellt, in dem wir jeden Anbieter berücksichtigen.

Die Einstellung Erstellung eines kleinen Aktionsbeitrags, wenn sich die Kategorie oder die Tags eines Topics ändern wird in der Chat-Integration nicht angezeigt.

Wenn Sie Discourse Automation installiert haben, wird beim nächsten Ausführen der Migrationen für dieses Plugin ein Skript zum Discourse Automation-Plugin hinzugefügt, das ähnlich wie das aktuelle funktioniert.


Ihre Automatisierungen werden ungefähr so aussehen:

Und Ihre Anbieter sind die aktivierten Anbieter.

Zum Beispiel habe ich Discord, Slack, Telegram und Google Chat aktiviert.

Ihr Kanalname ist der Name, den Sie in den Chat-Integrationseinstellungen vergeben haben.

Zum Beispiel ist der Name hier Spidey.

3 „Gefällt mir“

Wir haben einen neuen Stapel von Änderungen für Automation/chat-integration

In diesem neuen Stapel sind bemerkenswerte Änderungen:\n\n- Wir haben Trigger with PMs hinzugefügt, mit dem Sie steuern können, ob diese Automatisierung auch bei privaten Nachrichten ausgelöst werden soll.\n- Ein Problem wurde behoben, bei dem der Trigger Topic tags changed während der Themen-Erstellung ausgelöst wurde.

3 „Gefällt mir“

Wie bereits erwähnt – hier

Die Site-Einstellung create post for category and tag changes kann derzeit private Tags/Kategorien preisgeben; eine Möglichkeit, die wir gefunden haben, um diese Funktion beizubehalten, war die Verschiebung in Whispers:

Es funktioniert ähnlich wie kleine Beiträge, aber jetzt benötigen Sie whisper allowed groups mit einer Gruppe, damit es funktioniert.

Ich habe einen PR für Core mit dieser Änderung und einen für chat-integration zusammengeführt, der die Verwendung dieser Einstellung entfernt; die wieder hinzugefügte Automatisierungsfunktion sollte 1:1 mit der kleinen Aktion übereinstimmen, wenn jemand Probleme hat, lassen Sie es uns bitte wissen!

3 „Gefällt mir“

Ich habe weitere Updates für dieses Plugin :steam_locomotive:

Wir haben das Feld trigger on für die Automatisierung Send Chat-Integration message hinzugefügt.

Was macht es?

Es prüft, wann Tags:

  • Hinzugefügt und Entfernt (Standard)
  • Hinzugefügt
  • Entfernt

Derzeit ist diese Prüfung inklusiv.

Ein gutes Beispiel ist, wenn ich es auf Hinzugefügt setze; Damit diese Automatisierung ausgeführt wird, muss irgendein Tag zu einem Thema hinzugefügt werden.

Wenn Tags added gesetzt ist, sieht die Automatisierungstabelle wie folgt aus:

Added tag to topic Removed Tag to topic Has automation ran?
:white_check_mark: :cross_mark: :white_check_mark:
:white_check_mark: :white_check_mark: :white_check_mark:
:cross_mark: :white_check_mark: :cross_mark:

Wenn Tags removed gesetzt ist, sieht die Automatisierungstabelle wie folgt aus:

Removed tag to topic Added Tag to topic Has automation ran?
:white_check_mark: :cross_mark: :white_check_mark:
:white_check_mark: :white_check_mark: :white_check_mark:
:cross_mark: :white_check_mark: :cross_mark:
2 „Gefällt mir“


Betreff: Kein Zugriff auf den Abschnitt “Plugins” für die Einrichtung der Chat-Integration

Hallo,

ich bin Administrator des LXDAO-Forums und versuche, das Discourse Chat Integration Plugin zur Verbindung mit Telegram einzurichten. Laut der offiziellen Dokumentation sollte ich dies im Abschnitt “Plugins” des Admin-Panels konfigurieren können.

In meinem Admin-Dashboard habe ich jedoch nur Zugriff auf vier Abschnitte: Allgemein, Moderation, Sicherheit und Berichte. Der in der Dokumentation erwähnte Abschnitt “Plugins” scheint nicht verfügbar zu sein.

Könnten Sie mir bitte helfen zu verstehen:

  1. Ist das Chat Integration Plugin bereits in unserem Forum installiert?
  2. Benötige ich zusätzliche Berechtigungen, um auf den Abschnitt “Plugins” zuzugreifen?
  3. Gibt es bei einer gehosteten Discourse-Lösung Einschränkungen bei der Installation/Konfiguration von Plugins?

Welche Schritte sollte ich als Administrator unternehmen, um die Telegram-Integration für unsere Community ordnungsgemäß einzurichten?

Vielen Dank für Ihre Hilfe!