Discord Bot Bausatz đŸ€–

Können wir es verwenden, ohne zu spawnen, wenn wir die Konsole auf Discourse verwenden?

Ich sehe, dass der Bot mir Fehler meldet, wenn ich versuche, eine Neuzuordnung vorzunehmen :smiling_face_with_tear:

Ich bin mir nicht ganz sicher, was Sie damit meinen. Die einzige Interaktion soll auf Discord stattfinden.

Welche Fehler erhalten Sie jedoch? Ich werde sie mir irgendwann ansehen.

1 „GefĂ€llt mir“

Ich habe dieses Problem auch, das Betreten des Discourse-Containers und das Starten der Rails-c-Eingabeaufforderung fĂŒhrt dazu, dass eine weitere Instanz des Bots gestartet wird. Dies fĂŒhrt dazu, dass Befehle wie Ping! zweimal Pong! zurĂŒckgeben und andere Dinge wie die UnfĂ€higkeit, den Benutzernamen oder Spitznamen ĂŒber discordrb zu Ă€ndern.

Das AusfĂŒhren des Befehls ::DiscordBot::Bot.discord_bot.stop bewirkt, dass die von Rails c gestartete Instanz beendet wird, aber sie kann nicht mit dem Bot interagieren, der gestartet wird, wenn Discourse startet.

1 „GefĂ€llt mir“

Danke fĂŒr den Bericht. Ich werde dies als bekanntes Problem aufzeichnen (Bearbeitung: erledigt – zum Abschnitt „Bekannte Probleme“ in der OP hinzugefĂŒgt). Ich vermute jedoch, dass es von Anfang an so funktioniert hat und da dies nur ein paar Mal und erst sehr kĂŒrzlich gemeldet wurde, vermute ich, dass es im Allgemeinen nicht als großes Problem angesehen wird, da es sich um einen Grenzfall handelt.

Da Sie technisch versiert zu sein scheinen, ist ein PR willkommen, wenn Sie es lösen können.

1 „GefĂ€llt mir“

Es könnte ehrlich gesagt ein Kernproblem mit Discordrb sein, ich sehe keine Möglichkeit, andere laufende Bots aufzulisten oder sie in ihrer Dokumentation auszuwÀhlen. Wenn ich es herausfinde, werde ich es Sie wissen lassen. Was diesen Bot betrifft, habe ich das Projekt geforkt und ihn nach besten KrÀften so modifiziert, dass er als Chat-Bridge und nicht als Post-Bridge fungiert.


1 „GefĂ€llt mir“

Ja, was wir tun mĂŒssen, ist zu testen, ob eine Instanz lĂ€uft und keine neue zu starten, wenn bereits eine existiert.

Das ist eine Gefahrenzone fĂŒr Race Conditions, wĂ€re aber eine wirklich schöne Verbesserung.

Wenn ich mehr Zeit hĂ€tte, wĂŒrde ich mich frĂŒher darum kĂŒmmern, aber wenn Sie es versuchen möchten, nur zu.

Es scheint, dass die @@DiscordBot-Variable beim Start der Rails-Konsole an einen anderen Bot in einem anderen Thread gebunden wird, wĂ€hrend der ursprĂŒngliche unberĂŒhrt bleibt. Ich bin mir nicht sicher, ob es möglich ist zu erkennen, dass die Rails-Konsole startet und keinen zweiten Bot startet, aber dies erklĂ€rt, warum ich den Stopp-Befehl fĂŒr den Bot ĂŒber Rails ausfĂŒhren kann und den mit Discourse gestarteten nicht beeinflusse.

1 „GefĂ€llt mir“

Hallo,

Gute Arbeit, ich möchte das gerne verwenden, aber zuerst habe ich eine Frage, die damit zusammenhĂ€ngt, irgendwie


Ich benutze Discourse WP-Connect, um WordPress als meinen “Master” fĂŒr SSO zu verwenden (dies kann auch Discord-Login verwenden). Kennen Sie die “Benutzervariablen”, die ich in der SSO-Anfrage fĂŒr dieses Plugin ĂŒbergeben mĂŒsste, damit es mit einem Discord-Benutzer ĂŒbereinstimmt? Oder ist es nur die E-Mail-Adresse (ich nehme an, nicht)?

Ich sende bereits einige zusÀtzliche Werte, daher hoffe ich, dass ich einfach einen weiteren senden kann?

GemĂ€ĂŸ OP ist eine Authentifizierung ĂŒber Discord (unter Verwendung der integrierten Kernlogik) erforderlich, um die Beziehung herzustellen.

Eine fest kodierte SSO von WordPress wird dies insbesondere fĂŒr neue Benutzer verhindern.

PR oder zusÀtzliche Dokumentation sind willkommen, wenn Sie einen Weg finden, dies zu umgehen.

Gute Arbeit, gut gemacht. Das ist eine nĂŒtzliche Erkenntnis.

Nun, nicht wirklich das, wonach ich gefragt habe, aber vielleicht ist es am besten, im Support nachzufragen, da die Discord-Anmeldung jetzt in Discourse integriert ist.

1 „GefĂ€llt mir“

Ja, das geht ĂŒber den Geltungsbereich dieses Plugins hinaus, um Wordpress SSO zu unterstĂŒtzen.

Aber um Sie in die richtige Richtung zu weisen, benötigen Sie einen Eintrag in dieser Tabelle:

Dies geschieht automatisch, wenn Sie sich ĂŒber Discord anmelden.

Ich bezweifle, dass Wordpress SSO dies anstelle von Discord bevölkern könnte, bin aber bereit, mich eines Besseren belehren zu lassen.

1 „GefĂ€llt mir“

Ich habe auch eine OAuth-Quelle, die Benutzer anstelle von Discord verwenden sollen. Um dies zu umgehen, habe ich das Discord OAuth wie im OP beschrieben aktiviert, aber ich habe benutzerdefiniertes CSS verwendet, um alle anderen Anmeldequellen auszublenden, außer derjenigen, die meine Benutzer verwenden sollen, mit der CSS-Option display: none;. Die Möglichkeit, sich mit Discord per OAuth anzumelden, ist „technisch“ noch im HTML vorhanden, aber ein normaler Endbenutzer wird sie niemals finden.

Benutzer können dann ihre Discord-Verbindung in ihren Benutzereinstellungen mit dem Konto verbinden, das meine andere OAuth-Quelle erstellt.


image

Schön, das könnte eine Lösung sein, ich werde aber vielleicht nach einer tatsÀchlichen Code-Lösung suchen. Wird dies dann in den Discourse-Einstellungen angezeigt? Vielleicht könnten wir eine Direktnachricht senden, um dieses Thema nicht aufzublÀhen?

Warum ordnen Sie Discord-KanĂ€le Discourse-Kategorien und nicht Themen zu? Liegt es daran, dass es doppelt benannte Themen geben kann? Ich wĂŒrde gerne 5 KanĂ€le den relevanten Themen in 3 Kategorien zuordnen, aber das scheint nicht möglich zu sein?

Weil AnkĂŒndigungen eines einzelnen Themas ziemlich langweilig wĂ€ren?

Es ist bewusst auf hoher Ebene gehalten, damit Sie neue Themen in bestimmten Kategorien ankĂŒndigen können.

2 „GefĂ€llt mir“

Entschuldigung, ich meine fĂŒr dieses
image

2 „GefĂ€llt mir“

Das war eine Kundenanfrage :money_bag:

Der gesamte Chat wird, soweit ich mich erinnere, in einem Thema pro Kategorie zusammengefasst, um ein Durcheinander bei zu vielen Themen zu vermeiden.

2 „GefĂ€llt mir“

Ich verstehe

NatĂŒrlich, aber da es Kategorien verwendet, kann ich zum Beispiel keinen „#ford-support“-Thread in meiner „Ford“-Kategorie haben, der aus dem #ford-support-Kanal in Discord synchronisiert wird. Ruby ist nicht meine bevorzugte Sprache, daher bezweifle ich, dass ich es forken und anpassen könnte (wie ich es fĂŒr viele andere Dinge tue, die nicht in Ruby sind).

WÀre es einfach, es stattdessen anhand des Themen-/Threadnamens zu tun? Oder gibt es vielleicht eine EinschrÀnkung?

Nebenbemerkung: Bilder (interessanterweise tun es GIFs) werden nicht mit dem Thema synchronisiert, ich bin mir nicht sicher, ob das bekannt ist?

EDIT: Oh, warte, ich kann das Thema anscheinend einfach verschieben, nachdem es erstellt wurde.

Threads waren beim letzten Mal, als ich nachgesehen habe, nicht in der Ruby Discord API verfĂŒgbar, aber mir wurde gesagt, dass es „in Arbeit“ sei (vor zwei Jahren!).

Ich wĂŒrde mich auf jeden Fall ĂŒber einen PR freuen, um die UnterstĂŒtzung fĂŒr Threads hinzuzufĂŒgen, wenn das möglich wird.

Ich bin heutzutage leider zu sehr eingespannt, um mich auf die Entwicklung von Features in Plugins außerhalb bezahlter Arbeit zu konzentrieren, aber ich ĂŒberprĂŒfe gerne einen PR.

1 „GefĂ€llt mir“