Discord WSF Bridge 1.0.2

Erstellt eine Nachricht in einem Discord Channel bei einem neu erstellten Thread oder Post

Sobald jemand in eurem Forum ein Thread erstellt oder in einem Thread antwortet, wird dies automatisch über das Webhook System in eurem Discord gepostet.


  • Version 1.0.2

    fixed a issue

  • Version 1.0.1

    improved message length shown in discord

  • kannn man das benutzen oderkommt update ?

  • wird es auch untersützung für die 3.1 geben? finde die bridge nämich sehr gelungen.

    • Aus Zeitgründen aktuell leider nicht, das Plugin von Hanashi hat allerdings eine ähnliche Funktion mit einem Zusatzplugin zu seiner Discord Synchronisation.

    • SSchade, das Plugin von Hanashi habe ich mir bereits angeschaut, allerdings brauche ich den Schnickschnack drumrum nicht, mir hat diese einfach Bridge von dir völlig ausgereicht. Schlicht und gut.

    • Ach komm schonn, mir geht es auch wie Mythen, der Schnickschnack ist für uns ebenfalls nutzlos, die Bridge hat Ihr Aufgabe bestens erfüllt... Büüüüddee :)

  • Hallo,


    ist es vllt. möglich dieses News system

    woltlab.com/pluginstore/file/2470/

    in deine app zu "integrieren"? D.h. wenn news geposted werden, wird eine benachrichtigung im discord server erscheinen.


    Mit freundlichen Grüßen

    • Aus Zeitgründen kann ich aktuell leider nichts an dem Plugin machen. Ich kann auch nicht sagen wann ich wieder Zeit finde daran weiter zu arbeiten.

  • Funktioniert fehlerfrei,Danke!!

  • Wäre es umsetzbar das man mehrer webhooks nehmen kann? So könnte man bsp. Einen erstellen für das ankündigungforum wenn man alle anderen ignoriert und eines für das nächste forum usw. dann wird nicht ein. Channel in discord voll gespamt sondern schön kategorisiert wenn man das möchte.

    Like 1
  • Ist schon absehbar, wann man nur erstellte Themen posten lassen kann? Insbesondere für Ankündigungen interessant - und da möchte man ja nicht unbedingt jede Antwort in einem Thema ebenfalls mit ausgeben, das artet ja in Spam aus.

    • Hab das ganze jetzt selbst eingebaut.


      Suche lib/system/event/listener/DiscordBridgeListener.class.php


      Suche Eintrag:

      Code
      $webhook = new Webhook(DISCORD_WBB_BRIDGE_WEBHOOK_ID, DISCORD_WBB_BRIDGE_WEBHOOK_TOKEN);

      Füge darüber ein:

      Code
      if ($firstPost)
         {

      Suche Eintrag:

      Code
      $webhook->send();

      Füge darunter ein:


      Code
      }


      Jetzt wird die Nachricht nur noch bei neu erstellten Themen verschickt.

  • Funktioniert wunderbar! Allerdings wird bei dem Discord Post jedes mal ein "Erstelle den Thread" vor dem eigentlichen Posttitel angezeigt.


    Nebenbei: Könnte man das Plugin auch so einstellen dass es nur bei neuen Themen innerhalb eines bestimmten Forums einen Post versendet? Ich würde auf diese Weise gerne die Forennews "teilen".

    • Das letztere sollte schon funktionieren in dem du im ACP unter Konfiguration > Discord > Forum Bridge alle Foren außer das News Forum auswählst. Somit werden in Discord nur noch Theme/Posts aus dem News Forum übertragen.


      Zu dem ersten kann ich mir grade nichts vorstellen, könntest du mir davon bitte einmal ein Screen zukommen lassen?

    • Klar natürlich. Schicke ich dir direkt per PN.

  • Hi, gibt es auch eine Version für das schöne, alte Woltlab Burning Board? Ansonsten ne schöne Idee!

    • Hallo,
      aktuell ist aus zeit technischen Gründen keine Version für das WBB geplant, sorry.

  • Hallo.


    Super Plugin läuft klasse keine Probleme, was Cool wäre wäre der Weg zurück.


    Heißt wenn jemand zB in einem Discord Support Channel eine Anfrage stellt das im Woltlab ein Post / Thread in einem bestimmten Bereich erstellt würde. Support Anfrage im Discord erstellt einen Post im Woltlab Forum Support Anfragen aus dem Discord. Hoffe ist Verständlich.


    VG Marco

  • Moin leider will das Plugin bei mir nicht laufen. Habe keine Fehler Meldungen etc und alles richtig eingetragen

    • Könntest du mir einmal bitte einen Screenshot wie du die Sachen eingestellt hast per Privat Nachricht zukommen lassen? Dann schaue ich mir das mal an.

    • Hat sich eben erledigt danke. Ich hab das mit dem Foren Ignorieren falsch verstanden :D

  • Nach der Installation und Einrichtung bekomme ich beim Posten eines Beitrages oder neuen Themas eine Fehlermeldung. Der Post wird aber im Forum erstellt. Im Discord ist nichts angekommen und ich weiß nicht, ob ich etwas falsch konfiguriert habe, oder ob das ein Problem des Plugins ist.
    Vielleicht wirst Du da schlau draus.


    Sat, 01 Jul 2017 20:10:01 +0000
    Message: Received status code '404' from server
    PHP version: 5.6.30-he.0
    WoltLab Suite version: 3.0.5
    Request URI: /index.php?thread-add/37/
    Referrer: https://tutorial-cafe.de/index.php?thread-add/37/
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
    Peak Memory Usage: 12936112/536870912
    ======
    Error Class: wcf\system\exception\HTTPNotFoundException
    Error Message: Received status code '404' from server
    Error Code: 0
    File: /is/htdocs/wp1064408_I7XFOQXS5N/www/tutorialcafe/wcf/lib/util/HTTPRequest.class.php (504)
    Extra Information: -
    Stack Trace: [{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/util\/HTTPRequest.class.php","line":389,"function":"parseReply","class":"wcf\\util\\HTTPRequest","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/discord\/API.class.php","line":110,"function":"execute","class":"wcf\\util\\HTTPRequest","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/discord\/Webhook.class.php","line":153,"function":"execute","class":"wcf\\system\\discord\\API","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/system\/event\/listener\/DiscordBridgeListener.class.php","line":57,"function":"send","class":"wcf\\system\\discord\\Webhook","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/event\/EventHandler.class.php","line":137,"function":"execute","class":"wbb\\system\\event\\listener\\DiscordBridgeListener","type":"->","args":["wbb\\data\\post\\PostAction","wbb\\data\\post\\PostAction","finalizeAction",[]]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/event\/EventHandler.class.php","line":177,"function":"executeInheritedActions","class":"wcf\\system\\event\\EventHandler","type":"->","args":["wbb\\data\\post\\PostAction","finalizeAction","wbb\\data\\post\\PostAction","finalizeAction@wbb\\data\\post\\PostAction",[]]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":212,"function":"fireAction","class":"wcf\\system\\event\\EventHandler","type":"->","args":["wbb\\data\\post\\PostAction","finalizeAction"]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/data\/post\/PostAction.class.php","line":209,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"function":"create","class":"wbb\\data\\post\\PostAction","type":"->","args":[],"file":"[internal function]","line":"?"},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":204,"function":"call_user_func","args":[["[redacted]","[redacted]"]],"class":"","type":""},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/data\/thread\/ThreadAction.class.php","line":133,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"function":"create","class":"wbb\\data\\thread\\ThreadAction","type":"->","args":[],"file":"[internal function]","line":"?"},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":204,"function":"call_user_func","args":[["[redacted]","[redacted]"]],"class":"","type":""},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/form\/ThreadAddForm.class.php","line":383,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractForm.class.php","line":61,"function":"save","class":"wbb\\form\\ThreadAddForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractForm.class.php","line":112,"function":"submit","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractCaptchaForm.class.php","line":67,"function":"readData","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/MessageForm.class.php","line":281,"function":"readData","class":"wcf\\form\\AbstractCaptchaForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/form\/ThreadAddForm.class.php","line":435,"function":"readData","class":"wcf\\form\\MessageForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/page\/AbstractPage.class.php","line":274,"function":"readData","class":"wbb\\form\\ThreadAddForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/page\/AbstractPage.class.php","line":103,"function":"show","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/request\/Request.class.php","line":83,"function":"__run","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/request\/RequestHandler.class.php","line":94,"function":"execute","class":"wcf\\system\\request\\Request","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/index.php","line":9,"function":"handle","class":"wcf\\system\\request\\RequestHandler","type":"->","args":["wbb"]}]
    ======
    Error Class: wcf\util\exception\HTTPException
    Error Message: Received status code '404' from server
    Error Code: 404
    File: /is/htdocs/wp1064408_I7XFOQXS5N/www/tutorialcafe/wcf/lib/util/HTTPRequest.class.php (504)
    Extra Information: YToyOntpOjA7YToyOntpOjA7czo0OiJCb2R5IjtpOjE7czo0MDoieyJjb2RlIjogMCwgIm1lc3NhZ2UiOiAiNDA0OiBOb3QgRm91bmQifSI7fWk6MTthOjI6e2k6MDtzOjExOiJTdGF0dXMgQ29kZSI7aToxO3M6MzoiNDA0Ijt9fQ==
    Stack Trace: [{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/util\/HTTPRequest.class.php","line":389,"function":"parseReply","class":"wcf\\util\\HTTPRequest","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/discord\/API.class.php","line":110,"function":"execute","class":"wcf\\util\\HTTPRequest","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/discord\/Webhook.class.php","line":153,"function":"execute","class":"wcf\\system\\discord\\API","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/system\/event\/listener\/DiscordBridgeListener.class.php","line":57,"function":"send","class":"wcf\\system\\discord\\Webhook","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/event\/EventHandler.class.php","line":137,"function":"execute","class":"wbb\\system\\event\\listener\\DiscordBridgeListener","type":"->","args":["wbb\\data\\post\\PostAction","wbb\\data\\post\\PostAction","finalizeAction",[]]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/event\/EventHandler.class.php","line":177,"function":"executeInheritedActions","class":"wcf\\system\\event\\EventHandler","type":"->","args":["wbb\\data\\post\\PostAction","finalizeAction","wbb\\data\\post\\PostAction","finalizeAction@wbb\\data\\post\\PostAction",[]]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":212,"function":"fireAction","class":"wcf\\system\\event\\EventHandler","type":"->","args":["wbb\\data\\post\\PostAction","finalizeAction"]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/data\/post\/PostAction.class.php","line":209,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"function":"create","class":"wbb\\data\\post\\PostAction","type":"->","args":[],"file":"[internal function]","line":"?"},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":204,"function":"call_user_func","args":[["[redacted]","[redacted]"]],"class":"","type":""},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/data\/thread\/ThreadAction.class.php","line":133,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"function":"create","class":"wbb\\data\\thread\\ThreadAction","type":"->","args":[],"file":"[internal function]","line":"?"},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/data\/AbstractDatabaseObjectAction.class.php","line":204,"function":"call_user_func","args":[["[redacted]","[redacted]"]],"class":"","type":""},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/form\/ThreadAddForm.class.php","line":383,"function":"executeAction","class":"wcf\\data\\AbstractDatabaseObjectAction","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractForm.class.php","line":61,"function":"save","class":"wbb\\form\\ThreadAddForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractForm.class.php","line":112,"function":"submit","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/AbstractCaptchaForm.class.php","line":67,"function":"readData","class":"wcf\\form\\AbstractForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/form\/MessageForm.class.php","line":281,"function":"readData","class":"wcf\\form\\AbstractCaptchaForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/lib\/form\/ThreadAddForm.class.php","line":435,"function":"readData","class":"wcf\\form\\MessageForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/page\/AbstractPage.class.php","line":274,"function":"readData","class":"wbb\\form\\ThreadAddForm","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/page\/AbstractPage.class.php","line":103,"function":"show","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/request\/Request.class.php","line":83,"function":"__run","class":"wcf\\page\\AbstractPage","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/wcf\/lib\/system\/request\/RequestHandler.class.php","line":94,"function":"execute","class":"wcf\\system\\request\\Request","type":"->","args":[]},{"file":"\/is\/htdocs\/wp1064408_I7XFOQXS5N\/www\/tutorialcafe\/index.php","line":9,"function":"handle","class":"wcf\\system\\request\\RequestHandler","type":"->","args":["wbb"]}]

    • Werde mir das anschauen sobald ich zuhause bin.

    • Danke sehr! Wenn Du noch Infos brauchst, einfach melden.

  • Leider ist das Update aktuell nicht möglich:
    An update of package de.isekaidev.discord.wbbBridge from version 1.0.1 to 1.0.2 is not supported.

  • Könnte man das ganze auch nur für neu erstellte Themen einsetzen?

    • Und wenn es von bestimmten Personen gepostet wird, dass der Bot nur dann reagiert :) Danke!!

    • Normal sollte das Plugim neu erstellte Themen anzeigen. Den anderen vorschlag werde ich mir mal ansehen und ggf. einbauen sobald ich wieder zuhause bin.

    • Ja, das tut es, aber halt auch für Antworten auf ein Thema. Würde das Plugin gerne dafür nutzen, wenn es eine wichtige News im Forum gibt, dass der Bot nur dann postet.. aber nicht bei jeder Antwort von jemand anderem.

    • Gibt es hier schon ein Update bezgl. "nur bei Themen-Erstellung" posten?

  • Geht das nur im Forum oder gilt das auch für Artikel im CMS?

    • Das ist nur für das Forum

    • Schade :/ Dann kann ich es nicht nutzen

    • Ist es denn geplant es zu erweitern, also würde das überhaupt gehen es zu erweitern?

    • +1 wenn auch Artikel in Discord gepusht werden :)

      Like 1
    • Ich werde es mir mal angucken sobald ich die Zeit dazu finde

      Like 2
  • Sad, can't use it because of another Discord plugin:

    • Schade das das hier völlig ignoriert wird ;)

    • Das hat nix mit ignorieren zu tun. Mein Discord API Plugin ist halt nicht mit dem anderem Discord API Plugin kompatibel. Und da das andere Discord API Plugin in keinster weise die Funktionen besitzt die ich nutze, kann ich dagegen zurzeit nichts tun.

    • Ist es den schwer sich mit dem Entwickler in Verbindung zu setzen? Denn eine entfernung des Discord Logins, kommt nicht in betracht ;).

  • Error


    Error Type:
    wcf\system\exception\SystemException
    Error Message:
    Cannot override existing category 'discord'
    File:
    */lib/system/package/plugin/AbstractOptionPackageInstallationPlugin.class.php (251)
    Stack Trace:
    #0 */lib/system/package/plugin/AbstractOptionPackageInstallationPlugin.class.php (148):
    wcf\system\package\plugin\AbstractOptionPackageInstallationPlugin->saveCategory([ categoryName => , options => , parentCategoryName => , permissions => , showOrder => ])
    #1 */lib/system/package/plugin/AbstractOptionPackageInstallationPlugin.class.php (31):
    wcf\system\package\plugin\AbstractOptionPackageInstallationPlugin->importCategories(DOMXPath)
    #2 */lib/system/package/PackageInstallationDispatcher.class.php (603):
    wcf\system\package\plugin\AbstractOptionPackageInstallationPlugin->install()
    #3 */lib/system/package/PackageInstallationDispatcher.class.php (141):
    wcf\system\package\PackageInstallationDispatcher->executePIP([ attributes => , pip => , value => ])
    #4 */lib/acp/action/InstallPackageAction.class.php (72):
    wcf\system\package\PackageInstallationDispatcher->install('986f7f67')
    #5 */lib/action/AbstractDialogAction.class.php (68):
    wcf\acp\action\InstallPackageAction->stepInstall()
    #6 */lib/action/AbstractAction.class.php (47):
    wcf\action\AbstractDialogAction->execute()
    #7 */lib/system/request/Request.class.php (83):
    wcf\action\AbstractAction->__run()
    #8 */lib/system/request/RequestHandler.class.php (94):
    wcf\system\request\Request->execute()
    #9 */acp/index.php (9):
    wcf\system\request\RequestHandler->handle('wcf', true)

    • That issue is fixed with 1.0.2 (already downloadable at GitHub)

      Like 1
    • Hi und vielen Dank. Wann kommt das Update hier auf 1.0.2 ?

    • Die Version ist hier schon hochgeladen und muss nur noch vom Team Freigeschaltet werden. Wann dies passiert kann ich nicht sagen da ich darauf keinen Einfluss habe.