Twitch x Discord Bridge

Häufig gestellte Fragen

Häufige Fragen rund um die Twitch Discord Bridge Extension für Streamer.bot. Wenn du hier keine Antwort findest, komm gerne auf den Discord Server dort gibt es einen eigenen Support-Channel für diese Extension.

Allgemein

Was macht die Discord Bridge genau?

Die Extension verbindet deinen Twitch-Chat und einen Discord-Channel in Echtzeit. Nachrichten werden bidirektional gespiegelt, User im Twitch-Chat sehen Discord-Nachrichten und umgekehrt. Zusätzlich werden Moderationsaktionen synchronisiert das heißt gelöschte Nachrichten, Timeouts und Bans werden automatisch auf beiden Seiten nachgezogen. Wenn jemand dem Discord beitritt, kann optional ein OBS-Alert mit Bild, Text und Sound im Stream abgespielt werden.

Welche Voraussetzungen brauche ich?

Du brauchst Streamer.bot in Version 0.2.x oder neuer, einen Discord-Account und einen eigenen Discord-Server auf dem du den Bot einladen darfst. Für die OBS Join-Alerts zusätzlich OBS Studio mit aktiviertem OBS-WebSocket-Plugin.

Kann ich die Extension auf mehreren Twitch-Channels gleichzeitig nutzen?

Die Extension läuft pro Streamer.bot-Instanz. Wenn du mehrere Channels moderierst, brauchst du pro Channel eine eigene Streamer.bot-Instanz mit eigener Discord-Bot-Application.

Discord Bot Setup

Wo erstelle ich den Discord Bot und wie komme ich an den Token?

Auf discord.com/developers/applications. Dort auf „New Application“ klicken, einen Namen vergeben und im Tab „Bot“ auf „Reset Token“ klicken. Den angezeigten Token sofort kopieren, Discord zeigt ihn nur ein einziges Mal an. Falls du ihn vergisst oder verlierst, generierst du ihn einfach neu.

Welche Gateway Intents muss ich aktivieren?

Alle drei: Presence Intent, Server Members Intent und Message Content Intent. Ohne Server Members Intent funktionieren keine Join-Alerts, ohne Message Content Intent kommen keine Nachrichten von Discord nach Twitch durch. Nach dem Aktivieren „Save Changes“ nicht vergessen.

Welche Berechtigungen braucht der Bot auf meinem Server?

Beim Einladen über OAuth2 folgende Bot-Permissions setzen: View Channels, Send Messages, Read Message History und Manage Messages. Die letzte Permission ist wichtig für den Delete-Sync, ohne sie kann der Bot Nachrichten von Discord aus nicht löschen wenn auf Twitch ein Timeout oder Ban ausgesprochen wird.

Wie finde ich meine Server-ID und Channel-ID?

Zuerst den Entwicklermodus aktivieren: Discord-Einstellungen → Erweitert → Entwicklermodus einschalten. Anschließend Rechtsklick auf den Server-Namen bzw. den Channel in dem die Twitch Nachrichten gespiegelt werden sollen und „Server-ID kopieren“ bzw. „Kanal-ID kopieren“ auswählen.

Mein Token ist versehentlich öffentlich geworden was tun?

Sofort im Developer Portal unter „Bot“ auf „Reset Token“ klicken und den neuen Token in Streamer.bot eintragen. Discord invalidiert den alten Token damit automatisch niemand kann ihn mehr missbrauchen. Das ist der Grund warum du Token nie in Screenshots, Logs oder Support-Anfragen posten solltest.

Features

Werden Bot-Commands mit `!` auch übertragen?

Nein Nachrichten die mit einem Ausrufezeichen beginnen werden in beiden Richtungen herausgefiltert. Das verhindert dass Commands wie !so, !lurk oder andere Bot-Interaktionen doppelt im Discord landen oder umgekehrt.

Kann ich einzelne Features ein- oder ausschalten?

Ja. Über den Chat-Command !bridge steuerst du jedes Feature einzeln:
!bridge twitch — Twitch → Discord an/aus
!bridge discord — Discord → Twitch an/aus
!bridge alerts — Join-Alerts an/aus
!bridge status — zeigt den aktuellen Zustand aller Features
Die Einstellungen sind persistent und überleben einen Neustart von Streamer.bot.

Kann ich eigene Rollen-Emotes verwenden?

Ja. In den Set-Arguments der Init-Action findest du emoteStreamer, emoteMod, emoteVip und emoteSub. Dort kannst du eigene Discord-Emote-IDs eintragen. Die ID bekommst du indem du im Discord \:EmoteName: schreibst — Discord zeigt dir dann die volle Emote-Referenz, die du einfach kopierst.

OBS Join-Alerts

Wie richte ich die OBS Join-Alerts ein?

In OBS eine Bild-, Video- oder Medienquelle anlegen und unsichtbar schalten. Den exakten Quellnamen (Groß-/Kleinschreibung beachten) in das Argument obsAlertSource der Init-Action eintragen. Optional kann eine GDI+ Textquelle angelegt werden für den Willkommenstext Name ins Argument obsAlertText. Die Anzeigedauer wird in Millisekunden über alertDuration gesteuert. falls der Text etwas verzögert angezeigt werden soll gibt es hierfür ebenfalls noch ein obsTextDelay Argument welches ebenfalls in Millisekunden konfiguriert werden kann

Die Join-Alerts funktionieren nicht woran kann das liegen?

Drei häufige Ursachen: Erstens muss das Server Members Intent im Developer Portal aktiv sein. Zweitens müssen die OBS-Quellnamen exakt mit den Arguments übereinstimmen Groß-/Kleinschreibung inklusive. Drittens muss OBS über OBS-WebSocket mit Streamer.bot verbunden sein

Kann ich die Join-Nachricht im Twitch-Chat deaktivieren?

Ja. Im Chat !bridge joinmsg tippen damit wird nur die Chat-Nachricht unterdrückt, der visuelle OBS-Alert läuft weiter.

Fehlerbehebung

Nachrichten werden nicht gespiegelt was prüfen?

Als erstes im Chat !bridge status eingeben und prüfen ob die Richtungen aktiv sind. Channel-ID und Server-ID im Init-Argument noch einmal mit den Werten aus Discord abgleichen. Im Log-Tab von Streamer.bot sollte Discord Gateway connected stehen wenn nicht, stimmt etwas mit dem Bot-Token oder den Intents nicht.

Discord API 401 Unauthorized

Der Bot-Token ist ungültig oder wurde ungültig gemacht. Im Developer Portal einen neuen Token generieren und in Streamer.bot eintragen. Achte darauf dass beim Kopieren keine Leerzeichen oder Zeilenumbrüche mit reinrutschen.

Discord API 403 Forbidden

Der Bot hat keine Berechtigung für den Channel. Im Discord auf den Channel rechtsklicken → „Kanal bearbeiten“ → Berechtigungen dort den Bot bzw. seine Rolle hinzufügen und sicherstellen dass mindestens View Channels, Send Messages und Manage Messages aktiv sind.

Delete Sync funktioniert nicht

Der Bot braucht die Permission Manage Messages. Zusätzlich funktioniert der Sync nur für Nachrichten die nach dem letzten Streamer.bot-Start übertragen wurden das Message-ID-Mapping liegt persistent in den Global Variables und überlebt Neustarts. Bei Timeouts und Bans werden nur Nachrichten des aktuellen Tages gelöscht.

Mein Problem steht hier nicht wo bekomme ich Hilfe?

Im Vexi’s World Discord gibt es einen eigenen Support-Channel für die Extension. Dort kannst du auch Bug-Reports oder Feature-Wünsche direkt einreichen.

Weitere Fragen? Frag direkt auf dem Discord Server.