Ich lade dich gerne in meine Instanz ein! Ich weiĂ nicht, ob dein Plugin irgendwo protokolliert wird â ich könnte dir das gerne schicken, falls das hilft.
EDIT: Welche Berechtigungen hast du dem Bot bei der Autorisierung dort erteilt?
Ich lade dich gerne in meine Instanz ein! Ich weiĂ nicht, ob dein Plugin irgendwo protokolliert wird â ich könnte dir das gerne schicken, falls das hilft.
EDIT: Welche Berechtigungen hast du dem Bot bei der Autorisierung dort erteilt?
Der Bot benötigt Administratorrechte:
Du musst die Berechtigungen ĂŒber den Browser erteilen, wie hier (und im OP) beschrieben:
So Àhnlich: https://discord.com/api/oauth2/authorize?client_id=DEIN_CLIENT_ID&scope=bot&permissions=8
Dein Problem liegt höchstwahrscheinlich auf Discord-Seite, da der Discourse-Bot-Server zu laufen scheint (du hast dies mit dem Befehl Ping! gezeigt). Daher sind die Discourse-Logs irrelevant.
Ich habe dieses Plugin gerade erneut mit der neuesten Discourse-Version getestet, und alles funktioniert (ich habe ein paar Gems auf eine modernere Version aktualisiert, um die KompatibilitĂ€t mit anderen Plugins sicherzustellen, was aber fĂŒr dein Problem irrelevant ist).
Ja, ich habe es bereits mehrmals erneut eingeladen, aber es hat sich nichts geĂ€ndert. Es ist ein Administrator und verfĂŒgt ĂŒber die Bot-Berechtigung. Ich bin die Person, die es auf den Discord einlĂ€dt, und ich bin der Besitzer des Discord-Servers. Es erkennt mich einfach nicht und gibt die Meldung zurĂŒck: âSie haben keine Berechtigung, den Befehl discsync auszufĂŒhren!
Hurra! Es scheint, als hĂ€tte ich die Admin-Gruppen-ID irgendwie falsch formatiert! Es sieht so aus, als hĂ€tte mein Kopier-EinfĂŒge-Vorgang eine Zahl ĂŒbersehenâŠ
Als Folgefrage versuche ich nun, Personen in Discord basierend auf ihrem Vertrauenslevel in Discourse Farben zuzuweisen. Um die Vertrauenslevel zu ĂŒbertragen, sollte der Befehl meiner EinschĂ€tzung nach lauten:
!discsync false, 0, true
Ist das korrekt? Bei mir wird Folgendes zurĂŒckgegeben:
EDIT: Das Gleiche wird zurĂŒckgegeben, wenn ich den Befehl ohne Kommas ausfĂŒhre, also:
!discsync false 0 true
Erhöhen Sie Ihre Sichtbarkeitsebene. Die standardmĂ€Ăigen automatisierten Gruppen haben standardmĂ€Ăig die Sichtbarkeit 1 (âAngemeldete Benutzerâ). Wenn dieser Wert auf Null gesetzt ist, werden die standardmĂ€Ăigen automatisierten Gruppen ausgeschlossen:
Null schlieĂt nur Gruppen ein, die fĂŒr alle sichtbar sind, einschlieĂlich anonymer Benutzer.
Das ist jetzt in Ordnung. Vielen Dank â das wird sehr geschĂ€tzt.
Kann ich im Gegenzug etwas davon, was ich gelernt habe, in deinen Leitfaden einarbeiten? Falls nicht, kein Problem; ich möchte einfach nur deine UnterstĂŒtzung weitergeben.
Das ist sehr freundlich. Ich wĂŒrde mich freuen, wenn Sie es bearbeiten wĂŒrden. Sie sollten das bereits können? Es ist ein Wiki.
Sie haben mir auch geholfen, mein GedÀchtnis aufzufrischen ![]()
Ich brauche eigentlich keine Rollensynchronisierung, aber ein Discord-Bot, der in bestimmten KanĂ€len des Discord-Servers BeitrĂ€ge erstellt, wenn im Forum neue Themen erstellt werden, wĂ€re schön. Gibt es dafĂŒr ein Plugin?
Ja, dieses Plugin ist wahrscheinlich nicht das richtige Werkzeug dafĂŒr. Der Bot wird von deinem Discourse angetrieben und kann auf deine Discourse-Daten zugreifen (wo erlaubt und durch Befehle angestoĂen), lĂ€uft aber in einem separaten Thread und wird daher nicht von Discourse-Ereignissen benachrichtigt.
Ich schĂ€tze, es könnte irgendwann machbar sein, ihn beispielsweise so zu erweitern, dass er nach neuen Themen in einer bestimmten Kategorie sucht. Das ist zwar nicht der beste Anwendungsfall fĂŒr diese Architektur, aber PRs sind willkommen.
Es klingt so, als mĂŒsstest du dich damit beschĂ€ftigen:
Oder
Ja, ich habe beide Optionen untersucht. Die erste Option, Zapier, ist nicht kostenlos. Man kann bis zu 5 kostenlose Zaps erstellen, und das sind einstufige Zaps. Genau das wurde in diesem Thread gesagt, daher war die vorgeschlagene Alternative die discourse-chat-integration, die angeblich ein offizielles Plugin ist. Ich denke, das ist der beste Weg, um das zu erreichen, was ich möchte.
Die letzte Option scheint ein RSS-Feed-Plugin zu sein:
Update: Nachdem ich gelernt habe, die Regeln richtig einzurichten und die Webhooks zu konfigurieren, macht die chat-integration genau das, was ich wollte! Danke.
Hey @merefield,
vielen Dank nochmal, dass du dich mit diesem Plugin gemeldet hast!
Ich habe alles wie in der Dokumentation beschrieben installiert. Ich verwende diesen Befehl: !discsync, und fĂŒr mich sieht alles gut aus. ![]()
Bei einigen Benutzern (nicht bei allen) erhalte ich jedoch fĂŒr alle ihre Gruppen diesen Fehler:
Discourse Sync: [11/31] Mitglied 'MaxMustermann' zu 'Member' hinzufĂŒgen
Discourse Sync: Ich scheine jedoch keine Rechte dafĂŒr zu haben!
FEHLER auf Server XYZ (ID: 123123123123) fĂŒr Befehl ^add_role, undefinierte Methode add_role' fĂŒr nil:NilClass
Andere Benutzer können fĂŒr dieselbe Gruppe synchronisiert werden ![]()
Das deutet darauf hin, dass deine provider_uid in Discourse fĂŒr diesen Benutzer nicht festgelegt ist. Bitte untersuche dies.
Ăbrigens, gut gemacht, dass du das eingerichtet hast. Es ist ziemlich komplex und nichts fĂŒr schwache Nerven! :).
Ich habe diese Abfrage im Knowledge Explorer-Plugin ausgefĂŒhrt:
SELECT *
FROM user_associated_accounts u
WHERE u.provider_name = 'discord'
Aus bestimmten GrĂŒnden kann ich das Ergebnis nicht posten
, aber ich habe bei jedem Benutzer die provider_uid ĂŒberprĂŒft und jeder Benutzer hat eine. Gibt es noch etwas anderes, das ich debuggen könnte?
Dann ist das nÀchstwahrscheinlichste Problem, dass die aktuell zugeordnete Discord-UID falsch ist.
Das heiĂt, die Daten in Discourse werden nicht einer gĂŒltigen UID in Discord zugeordnet.
ĂberprĂŒfen Sie manuell den Datensatz dieses Benutzers in Discord und bestĂ€tigen Sie, dass er korrekt ist.
Hey, das kann ich bestÀtigen. Der Benutzer hat eine andere UID in Discourse als in Discord.
Wie kann dieses Problem reproduziert werden?
Könntest du die VerknĂŒpfung löschen und den Nutzer bitten, die Verbindung zu Discord erneut herzustellen? Wenn dies erneut auftritt, liegt möglicherweise ein Fehler bei der Social-Login-Funktion vor?
Hey,
ich wollte nur kurz nachhaken. Ich habe mit den Personen gesprochen, die diese Probleme hatten. Wir konnten das mögliche Problem eingrenzen.
Der Nutzer hat sich mit seinem alten Discord-Konto angemeldet, mit dem er dem Server nicht beigetreten ist. Daher konnte der Sync-Bot den Discord-Nutzer wohl nicht finden und es ist ein Fehler aufgetreten.
Danke fĂŒr die KlĂ€rung. Können Sie bestĂ€tigen, wie Sie das Problem gelöst haben? Haben Sie die Zuordnung gelöscht und ihn dann neu zuordnen lassen?
Das haben wir gemacht. ![]()