Leider ist derzeit weder das eine noch das andere möglich.
[quote=“david, Beitrag:1, Thema:66730”]
Nach unten zu „Berechtigungs-Scopes
Beides sollte über die Zapier-Integration möglich sein. Nicht ideal, ich weiß, aber da ich mich damit als Workaround für dieses Plugin beschäftigt habe, wollte ich es einfach teilen.
Hallo!
Ich habe versucht, das Plugin so zu konfigurieren, wie in diesem Thread erklärt. Wenn ich jedoch versuche, ein Transkript zu veröffentlichen, erhalte ich nur von dem Slack-Bot:
“Transkript wird geladen…”
Mein Discourse wird auf der Subdomain “discourse.group” gehostet. Das ist, was ich aus den Fehlerprotokollen erhalte:
/var/www/discourse/plugins/discourse-chat-integration/lib/discourse_chat/provider/slack/slack_command_controller.rb:86:in `block in process_post_request’
/var/www/discourse/lib/scheduler/defer.rb:94:in `block in do_work’
rails_multisite-2.1.0/lib/rails_multisite/connection_management.rb:252:in `with_connection’
rails_multisite-2.1.0/lib/rails_multisite/connection_management.rb:61:in `with_connection’
/var/www/discourse/lib/scheduler/defer.rb:89:in `do_work’
/var/www/discourse/lib/scheduler/defer.rb:79:in `block (2 levels) in start_thread’
Weißt du, wie man das beheben kann?
Der Ort, an dem der Fehler auftritt, deutet darauf hin, dass die auf deiner Seite eingestellten Slack-Anmeldedaten nicht korrekt sind. Um zu den Einstellungen für Chat-Integrationen zu gelangen, gehe zu deiner Admin-/Einstellungsseite und scrolle im linken Menü ganz nach unten. Dort findest du unten in der Liste einen Button mit der Bezeichnung „Chat-Integrationen“.
Stelle auf dieser Einstellungsseite sicher, dass folgende Einstellungen korrekt sind:
chat integration discourse usernamechat integration slack access tokenchat integration slack incoming webhook token
Lass uns bitte wissen, falls dies das Problem nicht löst. Da deine Seite von uns gehostet wird, können wir uns ansehen, was genau schiefgeht.
Lösung für Fehler:
1) DiscourseChat::ProviderError
2) {\"ok\":false,\"error\":\"not_in_channel\"}
Ich versuche, dies deutlicher zu machen, da die Antwort leider schwer zu finden war. Der Prozess zur Erstellung der Slack-App hat sich seit diesen Anweisungen etwas geändert. Und es scheint, dass die eigentliche Integration des Bots mit einem Kanal in Slack ebenfalls etwas mehr Einrichtung erfordert.
Von meinem Slack-Workspace aus konnte ich bestätigen, dass die App funktioniert, indem ich den Bot @discourse per Direktnachricht anschrieb und die Befehle /discourse ausführte. Doch in den Einstellungen des Discourse-Plugins erhielt ich Fehlermeldungen, konnte weder einen Kanal festlegen noch eine Testnachricht senden.
Wie man es umsetzt
EDIT: In den Antworten unten finden Sie aktualisierte Informationen. Ich habe versucht, die zusätzlichen Schritte hier bis zum 06.04.2020 einzuarbeiten. Bitte kommentieren oder ändern Sie diese bei Bedarf. – dp
- Bot-Berechtigungen: Die Berechtigung
chat:write.customizemuss hinzugefügt werden, damit der Slash-Befehl/discoursefunktioniert. Ich habe auchchat:writehinzugefügt. - Sie müssen den Kanal in Slack erstellen. Führen Sie dann entweder die
/discourse-Befehle im Kanal aus oder richten Sie eine Regel in Discourse ein. - Sie müssen den Bot manuell dem gewünschten Kanal hinzufügen (zumindest, um ein Transkript zu posten)! Dies können Sie im privaten Chat mit dem Bot in Slack tun:
"Konversationseinstellungen" > "Diese App zu einem Kanal hinzufügen". - Dann müssen Sie, und das ist wichtig, den Discourse-Bot-Benutzer dem Kanal hinzufügen. Ich konnte dies nicht über die normalen Schaltflächen „Benutzer hinzufügen“ oder „App hinzufügen“ im Kanal bewerkstelligen. ABER ich war erfolgreich, indem ich eine Nachricht an „@discourse“ im Kanal sendete – danach wurde ich von Slack mit der Meldung „@discourse ist nicht in diesem Kanal, möchten Sie ihn hinzufügen?“ aufgefordert.
- Danach konnte ich eine Testnachricht erfolgreich in den Plugin-Einstellungen senden

Hinweis: Bei der Einrichtung der Slack-App habe ich den App-Namen als @discourse festgelegt.
Danke @thedavidprice und @simon für eure großartige Unterstützung!
Ich habe das Problem behoben! Alles war in Ordnung, aber der Bot musste dem Kanal hinzugefügt werden, um eine Transkription zu posten. Vielleicht könntet ihr diesen Punkt zur Liste der Anweisungen oben hinzufügen?
Eine weitere Sache, die mir aufgefallen ist: Der Berechtigungsbereich chat:write:bot ist nicht mehr verfügbar, ihr müsst chat:write auswählen!
Hallo @Vincenzo_Lomonaco, zur Bestätigung: Meinen Sie damit, dass das Plugin den Bot nun selbst dem Kanal hinzufügt (zum Beispiel beim Erstellen einer Regel)?
Tatsächlich scheint sich auf der Slack-Einrichtungsseite einiges geändert zu haben. Ich kann bestätigen, dass ich chat:write hinzugefügt habe. Außerdem habe ich chat:write.customize hinzugefügt.
Nach der Erstellung über die Slack-API war mir nicht klar, ob ich die App zusätzlich in den Workspace-Einstellungen unter „Apps“ einem Kanal hinzufügen musste. In meinem Fall habe ich einen Kanal ausgewählt.
Zuletzt war ich auch verwirrt, ob ich „Anzeigename“ auf der App-Einstellungsseite von Slack angeben musste. Das habe ich getan; dies scheint die Informationen zu sein, die im Slack-App-Verzeichnis und unter „Neueste Apps“ in der linken Spalte von Slack angezeigt werden. Die von mir in Discourse für die Bot-Nachrichten eingetragene Bild-URL scheint jedoch nicht zu funktionieren. Der Name des Bots funktioniert jedoch.
Nochmals vielen Dank! Insgesamt bin ich sehr zufrieden mit dem bisherigen Verlauf.
Hallo @thedavidprice,
Nein, du musst den Bot manuell dem gewünschten Kanal hinzufügen (zumindest, um eine Transkription zu veröffentlichen)! Das kannst du im privaten Chat mit dem Bot in Slack tun: „Konversationseinstellungen“ > „Diese App zu einem Kanal hinzufügen“.
Danke, dass du das gemacht hast. Ich habe den Leitfaden basierend auf deinem Beitrag und meinen eigenen Tests aktualisiert. Ich kann bestätigen, dass die Berechtigung chat:write.customize zu den Bot-Token-Berechtigungen hinzugefügt werden muss, damit der Slash-Befehl /discourse post funktioniert.
Ich dachte, der Bereich channels:join könnte ausreichen, damit der Bot automatisch einem Kanal beitreten kann, aber meinen Tests zufolge funktioniert das nicht. Ich denke, der einfachste Weg, den Bot einem Kanal hinzuzufügen, ist nun in Schritt 15 des Leitfadens beschrieben. Falls es einen besseren Weg gibt, lass es mich bitte wissen.
Ich werde die Antworten in diesem Thema in ein paar Tagen aufräumen, sobald wir bestätigt haben, dass der aktuelle Stand des Leitfadens für die Nutzer funktioniert.
Hey Leute, ich möchte das für einen Ort mit etwas strengeren Sicherheitsbeschränkungen konfigurieren. Beim Abgleich der im Eröffnungspost dokumentierten erforderlichen Berechtigungen mit den aktuell erlaubten, sehe ich Folgendes:
chat:write # ? unklar, aber chat:write:bot ist OK
chat:write.customize ? unklar, aber chat:write:bot ist OK
users:read # X abgelehnt
channels:history X abgelehnt
groups:history # OK, vorsichtig akzeptiert
im:history # OK, akzeptiert
Wenn die App nur mit den folgenden Berechtigungen konfiguriert wäre, was würde funktionieren und was würde nicht?
chat:write:bot
groups:history
im:history
Zum Beispiel wäre es für mich in Ordnung, auf Transkripte zu verzichten…
Es ist eine Weile her, seit ich dies erstmals implementiert habe, und es sieht so aus, als hätten sich die Slack-Berechtigungen (Scopes) seitdem stark verändert. Ich sehe, dass Leute das OP-Wiki aktuell halten – das ist großartig! ![]()
Ich glaube, dass chat:write:bot und chat:write:user als veraltet markiert wurden und durch chat:write ersetzt wurden.
Es sieht so aus, als ob chat:write.customize erforderlich ist, da wir den author_name und author_icon der Nachricht anpassen, um sie mit dem Discourse-Benutzer abzugleichen.
Die Berechtigungen users:read und *:history werden nur für das Veröffentlichen von Transkripten verwendet. Mir ist bewusst, dass das viel erscheint! Aber grundsätzlich benötigt Discourse Zugriff auf deinen Chatverlauf, um das Transkript zu erstellen. Wenn du diese Berechtigungen lieber nicht erteilen möchtest, ist das völlig in Ordnung; du kannst sie einfach überspringen und ohne die Transkript-Funktion weiterarbeiten.
Wenn ich Schrägstrich-Befehle verwende, erhalte ich diesen Fehler: /hub ist mit dem Fehler “dispatch_failed” fehlgeschlagen.
(Wir verwenden /hub statt /discourse)
Ich konnte die App zum Kanal hinzufügen. Ich konnte auch einen Testbeitrag von Discourse zu unserem Slack senden, aber ich habe die /-Befehle noch nicht herausgefunden. Ich würde mich über Hilfe bei der Fehlerbehebung freuen!
Könntest du die Berechtigungen überprüfen, die du der App in Slack hinzugefügt hast? Beim letzten Mal, als ich dies konfiguriert habe, mussten alle Berechtigungen aus den Schritten 5 und 6 des Leitfadens zu den App-Berechtigungsbereichen hinzugefügt werden:
chat:writechat:write.customizeusers:readchannels:historygroups:historyim:history
Lass uns wissen, ob das das Problem nicht löst.
Ich bin mir ziemlich sicher, dass ich die richtigen Berechtigungen habe. Hier ist ein Screenshot der Einstellungen unter Bot-Token-Bereiche.
Was meinst du? Leider bedeutet das, dass etwas anderes im Gange ist.
Ich habe den Einrichtungsleitfaden erneut durchgegangen und einen /hub-Schrägstrich-Befehl erstellt. Das Aufrufen von /hub post funktioniert bei mir in allen Kanälen, denen ich die App hinzugefügt habe. Ich verwende dieselben Berechtigungen wie in dem von dir geposteten Screenshot.
Kannst du bitte sicherstellen, dass du Schritt 8 des Leitfadens abgeschlossen hast? Dieser Abschnitt besagt:
Gehe zur Seite Interaktivität & Verknüpfungen, aktiviere den Bereich Interaktivität, indem du ihn auf Ein stellst, und gib diese URL unter „Anfrage-URL“ ein:
<your-discourse-url>/chat-integration/slack/interactive
Es könnte auch hilfreich sein, zu bestätigen, dass du von Discourse aus in den Slack-Kanal posten kannst, auf dem du den Befehl /hub post ausführen möchtest.
Lass uns bitte wissen, falls du das Problem immer noch nicht lösen kannst.
Ich habe es überprüft und glaube ja, ich habe diesen Schritt befolgt.
Hier ist ein Screenshot.
Ich denke, der Fehler liegt jedoch bei etwas, das mit Schritt 7 zusammenhängt.
Hier sind meine Einstellungen.
So sieht es aus, wenn ich versuche, den Slash-Befehl in Slack zu verwenden:
Ja, dieser Teil funktioniert einwandfrei.
Nein, es funktioniert nicht. ![]()
Die “Request URL” im Abschnitt “Befehl bearbeiten” Ihres Screenshots verwendet kein HTTPS. Vielleicht liegt das Problem daran.
Das hat’s gebracht, vielen Dank!!!
Ich habe die Anweisungen in diesem Leitfaden befolgt und meine Discourse/Slack-Integration (meistens) zum Laufen gebracht. Großartige Arbeit an diesem Plugin! Ich habe jedoch drei Fragen/Beobachtungen.
Kein Abonnement für Nachrichten in einer Unterkategorie durch Abonnement der übergeordneten Kategorie
Das mag absichtlich so sein, war mir aber auf den ersten Blick nicht klar. Ich habe übergeordnete Kategorien mit Unterkategorien darunter. Ich ging davon aus, dass, wenn ich eine Regel erstelle, die „Alle Beiträge und Antworten




