Discord Bot Bausatz đŸ€–

Entschuldigung, alte Foren-Sprache, Threads sind Discourse-Themen, nicht die Discord-Threads.

Ich bin gerne bereit, fĂŒr benutzerdefinierte FunktionalitĂ€t zu bezahlen, aber ich glaube, ich habe eine Lösung gefunden, indem ich das Thema einfach nach seiner Erstellung verschiebe :thinking: Ich glaube, das war zu einfach.

Discord-Threads gab es vor 2 Jahren? Mann, ich werde alt :laughing: Ich verliere den Überblick ĂŒber die Zeit.

Aber ja, ich frage mich, ob es einfach wĂ€re, Bild- und ErwĂ€hnungsunterstĂŒtzung hinzuzufĂŒgen :thinking:?

Gib mir ein Angebot :wink:

image


1 „GefĂ€llt mir“

Ja, bitte setzen Sie dieses GesprÀch hier auf Discourse fort!

Ich implementiere ebenfalls dieses Plugin zur Synchronisierung mit einem Discord-Server!

Bedeutet dies, dass Rollen in Discord nach Discourse kopiert werden? Oder umgekehrt? Letztendlich wÀre es ohnehin besser, beide Optionen zuzulassen.

1 „GefĂ€llt mir“

Ich freue mich auf Ihren PR

1 „GefĂ€llt mir“

Wie meiner? PR? Was fĂŒr eine PR?

@merefield Hallo! Tolle Arbeit daran. Wie viele andere bin ich sicher, habe ich diesen Beitrag gefunden, als ich nach Plugins oder Bots suchte, die Discourse und Discord auf irgendeine Weise verbinden können.

Zu diesem Zeitpunkt war ich gerade dabei aufzugeben und einen Entwickler zu beauftragen, der es fĂŒr mich erledigt, aber ich bin ein Verfechter von Open Source und dankbar, dass ich zuerst auf dieses Thema gestoßen bin.

In einer der Discord-Communities, bei deren Moderation ich helfe, gibt es mehrere Bibliotheken von verschiedenen Autoren, deren Communities sich ĂŒberschneiden, und die daher Discord und den entsprechenden Kanal fĂŒr den technischen Support dieser Bibliothek nutzen.

Die ideale Lösung fĂŒr SEO, Wissensaufbau und Komfort wĂ€re, wenn jeder ein Discourse-Forum nutzen wĂŒrde, aber bei gleichen Bedingungen ziehen es die Leute einfach vor, ihre Fragen auf Discord zu stellen, und die antwortende Partei muss eine manuelle Lösung finden, um diese Konversation in Discourse zu replizieren.

Um dieser Ineffizienz entgegenzuwirken, ohne dem Benutzer eine schlechte Benutzererfahrung aufzuzwingen (z. B. „Willkommen bei Discord, jetzt nutze das Discourse und wiederhole dieselbe Frage noch einmal“), möchte ich, dass der Hauptkommentar jedes Bibliothekskanals die Möglichkeit hat, automatisch ein neues Thema im Discourse-Forum zu generieren. Dies wĂŒrde schnell zu Spam fĂŒhren, daher möchte ich, dass es nur ausgelöst wird, wenn:

  1. Es sich in einen Thread verwandelt (was impliziert, dass es sich um eine Frage handelte, auf die tatsÀchlich geantwortet wurde)

  2. Mit einem ausgewÀhlten Emoji von einer autorisierten Rolle (technischer Support, Moderator, Administrator usw.) beantwortet wurde.

Von dort aus wĂŒrden alle nachfolgenden Kommentare in diesem Discord-Thread automatisch verfolgt und als Antworten auf dasselbe ĂŒbergeordnete Discourse-Thema gepostet werden. (Hinweis: Es ist nicht wichtig, dass Benutzerkonten existieren – das Senden als „System“ oder als bestimmter Bot wĂ€re akzeptabel, solange der Benutzername, von dem es stammt, im Text der BeitrĂ€ge erwĂ€hnt wird)

Basierend auf diesen Anforderungen habe ich ein paar Fragen:

  1. Ist der Bot, um den es in diesem Thema geht, dafĂŒr bereit?

  2. Wenn nicht, welche Teile sind noch nicht bereit oder noch nicht geplant? (Ich sehe, dass Threads etwas ist, das „in Arbeit“ ist, aber wenn es sich um finanzielle PrioritĂ€ten handelt, kann ich eine gesunde PrĂ€mie ausschreiben, um es Wirklichkeit werden zu lassen)

  3. Wenn es darum geht, diese PrĂ€mie fĂŒr die Entwicklung zu zahlen, was ist die geeignete Methode fĂŒr die Beauftragung? Was sind die Anforderungen und Erwartungen (Kosten, ZeitplĂ€ne usw.)?

Ich schÀtze die Arbeit, die Sie (und alle anderen!) bisher geleistet haben, und freue mich auf Ihre zeitnahe Antwort.

~carrot

Hallo @carrotcypher,

Dieses kostenlose Plugin wird von mir (als Teil von Pavilion) nach bestem Wissen und Gewissen gepflegt.

Es gibt keine Roadmap und die Arbeit an Funktionen findet nur statt, wenn es einen externen Sponsor gibt.

Ihr Anwendungsfall ist interessant.

Dieser “Bot” stĂŒtzt sich auf dieses Ruby-Gem, was eine kritische AbhĂ€ngigkeit darstellt.

Dies unterstĂŒtzt noch kein Threading in einer offiziellen Version, obwohl es so aussieht, als ob einige UnterstĂŒtzung zum Hauptzweig hinzugefĂŒgt wurde, aber ich bin mir nicht sicher in welchem Umfang. Das wĂ€re an sich schon etwas Arbeit, um das herauszufinden und vielleicht mit ihnen zu besprechen, ob sie irgendwann eine Veröffentlichung planen. Ihre Dokumentation wird nur bei jeder Veröffentlichung auf den neuesten Stand gebracht. Es reicht nicht aus, UnterstĂŒtzung im Hauptzweig zu haben, sie mĂŒssen das Gem idealerweise aktualisieren.

Wenn Sie dieses Projekt ernsthaft verfolgen, empfehle ich Ihnen, das Projekt zunĂ€chst mit dem Projektmanagement-Team von Pavilion zu besprechen, obwohl Sie natĂŒrlich auch im Marketplace posten können.

Gehen Sie hierhin, klicken Sie auf Kontakt und folgen Sie den Anweisungen: https://pavilion.tech/solutions/

1 „GefĂ€llt mir“

@merefield Hallo, ich habe das Plugin installiert, aber der Bot reagiert nicht auf Befehle auf meinem Server.
Er zeigt korrekt die Nachricht „The Discourse admin bot has started his shift!“ an, aber danach reagiert er auf nichts.
Seltsamerweise funktioniert es, wenn ich ihm eine Direktnachricht auf Discord sende. Ich habe die Berechtigungen auf dem Server ĂŒberprĂŒft und sie scheinen korrekt konfiguriert zu sein (ich habe dem Bot Administratorrechte gegeben).

Seltsam, ich habe es auf der allerneuesten Discourse-Version ĂŒberprĂŒft und es verhĂ€lt sich wie erwartet.

Was passiert, wenn Sie Ping! auf Discord eingeben (Großschreibung wichtig)?

ÜberprĂŒfen Sie Ihre Protokolle, sehen Sie Fehlermeldungen?

Es reagiert nicht auf Ping! (funktioniert aber in Direktnachrichten)

Logs

Es hat irgendwie Probleme mit dem Token in Ihrer Einstellung.

Haben Sie lustige Zeichen eingegeben oder es gar nicht eingegeben?

image

Ich habe es aufgegeben. Ich glaube sowieso nicht, dass es das richtige Werkzeug fĂŒr meinen Anwendungsfall war.
Ich weiß nicht, warum es nicht funktioniert hat. Ich habe alles sorgfĂ€ltig und mehrmals gemacht.
Vielleicht spielt Discord verrĂŒckt?
Auf jeden Fall danke, dass du versucht hast, mir zu helfen.

1 „GefĂ€llt mir“

Was haben Sie funktional versucht zu tun?

Ja, gute Lösung, und der erforderliche Befehl lautet:\n\n::DiscordBot::Bot.discord_bot.stop\n\nDies stoppt den zusÀtzlichen Bot in der Rails-Konsolensitzung und lÀsst den aktuellen Hauptserver-Bot weiterlaufen.\n\n@satonotdead, dir könnte diese Lösung gefallen.\n\nIch habe diese Informationen in die OP (Originalbeitrag) aufgenommen.

2 „GefĂ€llt mir“

Entschuldigung, ich sehe mir gerade die BeitrĂ€ge an und habe festgestellt, dass ich Ihnen falsche RatschlĂ€ge gegeben habe. Ich habe inzwischen Hooks implementiert, die auf Discourse-Ereignisse reagieren und in Discord agieren können. Einige davon könnten fĂŒr Sie bereits nĂŒtzlich sein, und diese Technik kann auf andere Ereignisse ausgeweitet werden:

1 „GefĂ€llt mir“

Mit Dank an meinen Sponsor und mit zusÀtzlicher Hilfe von @RGJ bringe ich Ihnen einige wichtige Updates:

  • FEATURE; FĂŒgt die Möglichkeit hinzu, einzelne Discord-Threads einfach in Discourse zu kopieren, indem der bestehende !disccopy-Befehl erweitert und verbessert wird
  • IMPROVE: Bringt das Plugin auf den neuesten Stand des discordrb-Codes (3.5.0)
  • FEATURE: FĂŒgt Multisite-UnterstĂŒtzung hinzu (danke @RGJ !!)
  • FEATURE: Startet den Bot-Thread neu, wenn das Token geĂ€ndert oder aktiviert wird (Sie mĂŒssen den Host-Server nicht neu starten) (danke nochmal @RGJ !!)

@klausagnoletti, @Fma965 mit diesem API-Update haben wir endlich die Möglichkeit, ĂŒber die API mit Discord-Threads zu interagieren, die im Wesentlichen nur zusĂ€tzliche „KanĂ€le“ sind.

2 „GefĂ€llt mir“

Ah, endlich!

Eine funktionierende PrĂŒfung, um zu verhindern, dass der Bot an ungeeigneten Stellen im Prozess spawnt*!

Sie werden keinen neuen Bot mehr spawnen, wenn:

  • DatenbankĂ€nderungen migriert werden
  • die Rails-Konsole geöffnet wird (es ist also jetzt nicht mehr nötig, sie zu stoppen).

Dadurch wird das Bot-Gerede beim Wiederaufbau um mindestens 50 % reduziert, sodass es sich jetzt nur noch zweimal ankĂŒndigen sollte :sweat_smile:

Lassen Sie mich wissen, wenn Sie Probleme mit dieser neuesten Änderung haben.

Dank an @RGJ fĂŒr den Vorschlag! :pray:

*meistens! :slight_smile:

1 „GefĂ€llt mir“

Ich möchte nur kurz mitteilen, dass ich kĂŒrzlich:

  • FIX: Die automatische Synchronisierung von Nachrichten zwischen Discord und Discourse wurde behoben, die seit dem letzten Update offenbar defekt war!!
  • FEATURE: Eine UnterstĂŒtzung fĂŒr die automatische Synchronisierung von Discord-Embeds wurde hinzugefĂŒgt.

Viel Spaß!

Hallo, gute Arbeit am Skript! Danke, dass Sie das gemacht haben. Ich hatte ein paar Fragen
 wie oft synchronisiert der Bot die Mitglieder in den Rollen? Ich habe gerade Discourse eingerichtet und dies war eines der ersten Plugins, die ich installiert habe. Ich habe eine Gruppe auf www erstellt, mich selbst hinzugefĂŒgt und wenn ich manuell !discsync eingebe, wird das Discord-Tag auf meinem Namen richtig hinzugefĂŒgt. Wenn ich mich nun aus der Gruppe auf www entferne oder jemand anderen hinzufĂŒge
 passiert nichts, es sei denn, ich tippe manuell !discsync auf Discord. Ist das so vorgesehen oder sollte es alle paar Minuten, alle 10 Minuten synchronisieren?

Es ist manuell.
Sie könnten sich diese Fork ansehen: Discord Sync: sync a Discourse forum with a Discord server, aber ich glaube, sie ist nicht mehr gepflegt und kaputt (ich habe diese Person auch gebeten, einen PR zu erstellen, aber hey!).
FĂŒhlen Sie sich frei, eine automatisiertere Lösung per PR einzureichen, oder Sie können mich beauftragen, daran zu arbeiten, oder Marketplace
Es ist schließlich ein “Baukasten” :slight_smile: