Alle verfügbaren Platzhalter für Chat-Commands, Alerts, Raids, Clips und mehr
Verfügbar überall, wo ein User eine Aktion auslöst (Commands, Alerts, Kanalpunkte …).
Variable
Beschreibung
${user}
Der Anzeigename des auslösenden Users
${userName}
Der Name des Users (kleingeschrieben)
${userPoints}
Aktuelle Anzahl an Loyalty-Points
${userPointsRank}
Aktueller Rank auf dem Leaderboard nach Loyalty-Points
${userPointsAllTime}
Höchster Stand, den der User bei den Loyalty-Points bisher hatte
${userPointsAllTimeRank}
Höchste Platzierung im Leaderboard nach Loyalty-Points
${userWatchtime}
Aktuelle Watchtime (z. B. 2 Monate, 5 Tage, 3 Stunden)
${userWatchtimeMinutes}
Aktuelle Watchtime in Minuten
${userWatchtimeRank}
Aktueller Rank auf dem Leaderboard nach Watchtime
${userWatchtimeAllTimeRank}
Höchster Rank im Leaderboard nach Watchtime
${userChatMessages}
Anzahl der Chat-Nachrichten des Users
${userChatMessagesRank}
Aktueller Rank im Leaderboard nach Chat-Nachrichten
${userChatMessagesAllTimeRank}
Höchster Rank im Leaderboard nach Chat-Nachrichten
${userLastSeen}
Zeitpunkt, wann der User zuletzt gesehen wurde
${userLastActive}
Zeitpunkt, wann der User zuletzt im Chat aktiv war
Verfügbar in Commands, Timern, Kanalpunkten und überall, wo ein Text mit Variablen verarbeitet wird.
Variable
Beschreibung
${touser}
Erstes Argument (auslösender User, falls nicht vorhanden)
${query}
Alle Argumente nach dem Befehl
${1}${2}${3}
Einzelne Wörter nach dem Befehl
${count}
Aufrufzähler dieses Befehls
${count name}
Benannter Zähler pro Kanal (z. B. ${count wins})
${getcount name}
Zählerstand lesen ohne zu erhöhen
${countUser name}
Nutzer-Zähler: erhöht den Stand nur für den ausführenden Twitch-Login (im Dashboard als „Nutzer“-Zähler anlegen)
${getcountUser name}
Nutzer-Zähler: aktuellen Stand für den ausführenden User anzeigen, ohne zu erhöhen
Nur bei Reaktionen vom Typ Countdown: Start- und Endnachricht. Restzeit und Name kommen aus der laufenden Einlösung.
Variable
Beschreibung
${countdown}
Verbleibende Zeit des aktuellen Countdowns, lesbar (z. B. 3 Minuten und 20 Sekunden) — nach Stapelung bei der Einlösung
${countdownName}
Text aus der Belohnungs-Eingabe (z. B. das verbotene Wort), wenn „Countdown pro Eingabe“ aktiv ist; sonst der eingetragene Text bzw. leer
Zufallswerte — überall verfügbar.
Variable
Beschreibung
${random.1-100}
Zufallszahl im angegebenen Bereich (z. B. ${random.1-10})
${random.pick 'a' 'b' 'c'}
Zufällige Auswahl aus den angegebenen Optionen
${random.emote}
Wählt ein zufälliges, verfügbares Emote von diesem Channel
${random.chatter}
Wählt einen zufälligen User aus der Chatters-Liste
Informationen über den aktuellen Stream — überall verfügbar.
Variable
Beschreibung
${game}
Das Spiel, das der Streamer gerade spielt
${title}
Der aktuelle Titel des Streams
${uptime}
Die Zeit, die der Streamer aktuell live ist
Eingehende Raids werden unter Chatalerts konfiguriert.
Eingehender Raid
Jemand raidet in deinen Kanal — Ziel im Text ist der raidende Kanal.
Variable
Beschreibung
${raider}
Anzeigename des raidenden Kanals
${raiderLogin}
Login des raidenden Kanals (kleingeschrieben)
${raiderGame}
Zuletzt gespielte Kategorie des raidenden Kanals (Helix)
${raiderUrl}
Kanal-URL des Raidenden
${raiderViewers}
Mitgeschickte Zuschauerzahl
${viewers}
wie ${raiderViewers}
Verfügbar in der Clip-Nachricht.
Variable
Beschreibung
${clipCreator}
Ersteller des Clips (Anzeigename)
${clipTitle}
Titel des Clips
${clipUrl}
Link zum Clip
Verfügbar im Subscribe-Alert.
Variable
Beschreibung
${subTierLevel}
Tier 1, Tier 2 oder Tier 3
${subTier}
Rohcode (1000 / 2000 / 3000)
Verfügbar im Cheer-Alert.
Variable
Beschreibung
${bits}
Anzahl der gecheerten Bits
${cheerMessage}
Mitgeschickter Chat-Text (kann leer sein)
Informationen über den Streamer — überall verfügbar.
Variable
Beschreibung
${streamer}
Anzeigename des Streamers
${streamerLogin}
Name des Streamers (kleingeschrieben)
${streamerUrl}
Kanal-URL
${streamerViewers}
Aktuelle Viewer-Anzahl
${streamerFollowers}
Aktuelle Follower-Anzahl
${streamerSubs}
Aktuelle Sub-Anzahl
${streamerSubpoints}
Aktuelle Sub-Points
${streamerChatters}
Aktuelle Anzahl an Chattern
Nur in den jeweiligen Alert-Templates unter Chatalerts. Daten kommen direkt von Twitch (Werbepause, Hype Train, Umfrage, Prediction, Charity-Spende).
Variable
Beschreibung
Ad Break
${adBreakDurationSec}
Dauer in Sekunden (Zahl)
${adBreakDurationText}
Dauer lesbar (z. B. „90 Sekunden“, „2 Min. 30 Sek.“)
${adBreakSource}
„automatisch (Ads Manager)“ oder „manuell gestartet“
${adBreakIsAutomatic}
ja / nein
Hype Train
${hypeTrainLevel}
Aktuelles Level
${hypeTrainProgress}
Fortschritt im aktuellen Level
${hypeTrainGoal}
Zielwert des Levels
${hypeTrainTotal}
Gesamt-„Events“ im Train
${hypeTrainPercent}
Fortschritt in Prozent (deutsch formatiert)
${hypeTrainTypeLabel}
„normaler Zug“ / „gemeinsamer Zug“
${hypeTrainTriggerSummary}
Kurzinfo, wodurch der Zug losging (z. B. Top-Contributor)
${hypeTrainFinalLevel}
Endlevel (v. a. Endnachricht)
${hypeTrainFinalTotal}
Endstand Gesamtunterstützungen
${hypeTrainRecordLevel}
Persönliches Rekord-Level (laut Event)
${hypeTrainRecordTotal}
Rekord-Gesamtsumme (falls geliefert)
Polls
${pollQuestion}
Umfrage-Titel
${pollOptionsList}
Optionen als Fließtext
${pollWinnerTitle}
Gewinner-Option (Ende)
${pollWinnerVotes}
Stimmen Gewinner (formatiert)
${pollWinnerPercent}
Prozent Gewinner
${pollResultsBreakdown}
Alle Optionen mit Stimmen & Prozent
${pollTotalVotes}
Gesamtstimmen
Predictions
${predictionQuestion}
Frage
${predictionOptionsList}
Outcomes als Fließtext
${predictionLockPointsSummary}
Kanalpunkte pro Seite (bei Lock)
${predictionOddsSummary}
Anteile / „Quoten“ in % pro Option (bei Lock)
${predictionWinnerTitle}
Gewinnende Seite (Ende)
${predictionWinnersPointsTotal}
Summe ausgezahlter Kanalpunkte an Gewinner:innen (Ende)
Twitch Charity
${charityUserName}
Anzeigename Spender:in
${charityUserLogin}
Login (kleingeschrieben)
${charityAmountFormatted}
Betrag lokal formatiert
${charityCurrency}
Währungscode (z. B. USD)
${charityName}
Name der Organisation
${charityCampaignId}
Kampagnen-ID
Daten aus StreamElements, Streamlabs oder TipeeeStream — nur für den jeweiligen Kanal. Tokens unter Kontoeinstellungen; Chat-Alert-Text unter Chatalerts → Spende. Session-Werte werden beim Bot-Neustart zurückgesetzt.
Variable
Beschreibung
${lastDonationUser}
Benutzername des letzten Spenders
${lastDonationAmount}
Betrag als String (z. B. 5.00)
${lastDonationCurrency}
Währung (z. B. EUR)
${lastDonationMessage}
Nachricht des Spenders
${lastDonationProvider}
streamelements, streamlabs oder tipeeestream
${lastDonationFormatted}
Formatierter Betrag (z. B. 5,00 €)
${lastDonationTime}
Relative Zeit (z. B. vor 3 Minuten)
${sessionDonationTotal}
Summe aller Spenden dieser Session (Zahlen-String, zwei Nachkommastellen)
${sessionDonationCount}
Anzahl Spenden dieser Session
Links beziehen sich immer auf den Kanal, in dem der Bot die Nachricht sendet. Vollständige URLs setzen die Umgebungsvariable PUBLIC_BASE_URL (oder optional ctx.publicBaseUrl im Code) — sonst werden die Platzhalter durch leere Strings ersetzt.
Variable
Beschreibung
${dictionaryLink Name}
Öffentlicher Link zum Wörterbuch mit diesem Namen (z. B. ${dictionaryLink Begriffe}) — muss zu deinem Kanal gehören; Groß-/Kleinschreibung egal
${publicProfileLink}
Link zum öffentlichen Streamer-Profil (/twitchlogin — Übersicht & Navigation)
${gameCollectionLink}
Link zur öffentlichen Game Collection (/twitchlogin/games)
${commandListLink}
Link zur öffentlichen Commands-Liste (/twitchlogin/commands)
${leaderBoardLink}
Link zum öffentlichen Zuschauer-Leaderboard (/twitchlogin/leaderboard)
${quotesListLink}
Link zur öffentlichen Zitatliste (/twitchlogin/zitate)
${customapi https://…}
HTTP-GET auf die angegebene URL (Timeout 3 s); Antworttext, gekürzt für Chat-Limits. Kann mehrfach pro Nachricht vorkommen; wird nach allen anderen Variablen aufgelöst, sodass die URL selbst Platzhalter enthalten darf
Daten für den jeweiligen Kanal (Streamer): Riot-ID und Region unter Kontoeinstellungen hinterlegen. Server benötigt RIOT_API_KEY in der Umgebung. Caching: Account/Ranked/Challenges ca. 60 s, letztes Match 120 s, Live-Spiel 30 s, Mastery 300 s, Champion-Daten (Data Dragon) bis zu 24 h.
Basis (Account + Summoner)
Variable
Beschreibung
${lolName}
Riot-ID GameName (z. B. Kraizy47)
${lolTag}
Riot-Tagline (z. B. EUW)
${lolRiotId}
Volle Riot-ID, GameName#Tagline
${lolLevel}
Summoner-Level
${lolIconUrl}
Profilbild-URL (Data Dragon CDN)
Ranked Solo/Duo
Variable
Beschreibung
${lolRank}
Voller Rang (z. B. Gold II)
${lolTier}
Tier allein (z. B. Gold)
${lolDivision}
Division (z. B. II); leer bei Master+
${lolLP}
Aktuelle LP
${lolWins}
Siege in der aktuellen Season
${lolLosses}
Niederlagen in der aktuellen Season
${lolWinrate}
Winrate in Prozent, eine Nachkommastelle
${lolGames}
Gespielte Solo/Duo-Spiele (Siege + Niederlagen)
${lolHotStreak}
Auf Siegesserie? (ja/nein)
${lolVeteran}
Veteran in der aktuellen Division? (ja/nein)
${lolFreshBlood}
Neu in der Division? (ja/nein)
${lolRankEmblemUrl}
URL Rang-Emblem (Community Dragon CDN)
Ranked Flex
Variable
Beschreibung
${lolFlexRank}
Voller Flex-Rang
${lolFlexTier}
Flex-Tier
${lolFlexDivision}
Flex-Division
${lolFlexLP}
Flex-LP
${lolFlexWins}
Flex-Siege
${lolFlexLosses}
Flex-Niederlagen
${lolFlexWinrate}
Flex-Winrate in Prozent
${lolFlexGames}
Flex-Gesamtspiele
Champion-Mastery (Top 3)
Variable
Beschreibung
${lolMastery1}
Champion mit den meisten Mastery-Points
${lolMastery1Points}
Mastery-Points Platz 1 (deutsche Tausender)
${lolMastery1Level}
Mastery-Level 1–10 (Platz 1)
${lolMastery1IconUrl}
Champion-Icon-URL (Data Dragon)
${lolMastery2}
Champion Platz 2
${lolMastery2Points}
Mastery-Points Platz 2
${lolMastery2Level}
Mastery-Level Platz 2
${lolMastery3}
Champion Platz 3
${lolMastery3Points}
Mastery-Points Platz 3
${lolMastery3Level}
Mastery-Level Platz 3
${lolMasteryTotal}
Summe aller Mastery-Points (Riot-Score-Endpoint)
Letztes Spiel (Match History)
Variable
Beschreibung
${lolLastChamp}
Champion im letzten Spiel
${lolLastChampIconUrl}
Champion-Icon-URL
${lolLastResult}
Sieg oder Niederlage
${lolLastKDA}
K/D/A als Text (z. B. 8/2/11)
${lolLastKills}
Kills
${lolLastDeaths}
Deaths
${lolLastAssists}
Assists
${lolLastKDARatio}
(K+A)/D mit zwei Nachkommastellen; bei 0 Deaths: Perfect
${lolLastCS}
Creep Score (Minions + Neutrals)
${lolLastCSPerMin}
CS pro Minute
${lolLastVision}
Vision Score
${lolLastWardsPlaced}
Platzierte Wards
${lolLastWardsKilled}
Zerstörte Wards
${lolLastDamage}
Schaden an Champions (formatiert)
${lolLastDuration}
Spieldauer (m:ss)
${lolLastMode}
Spielmodus (Queue, z. B. Ranked Solo, ARAM)
${lolLastPosition}
Position (z. B. MID, JUNGLE)
${lolLastPentakills}
Pentakills im Spiel
${lolLastMultikill}
Höchster Multikill: Penta, Quadra, Triple, Double oder leer
Live-Spiel (Spectator)
Variable
Beschreibung
${lolLive}
Gerade im Spiel? (ja/nein)
${lolLiveChamp}
Aktueller Champion (nur wenn live)
${lolLiveChampIconUrl}
Champion-Icon-URL
${lolLiveMode}
gameMode-Ausgabe (vereinfacht)
${lolLiveDuration}
Laufzeit seit Spielstart (m:ss)
${lolLiveQueue}
Queue-Bezeichnung (z. B. Ranked Solo)
Challenges
Variable
Beschreibung
${lolChallengeLevel}
Challenge-Tier der höchsten Punktekategorie (Riot totalPoints)
${lolChallengePoints}
Summe der Challenge-Punkte (totalPoints)
Gleiche Riot-ID und Region wie bei League of Legends unter Kontoeinstellungen (riotGameName, riotTagLine, riotRegion); die PUUID ist für LoL und TFT identisch. Server benötigt RIOT_API_KEY. Caching: TFT-Ranked 60 s, letztes Match 120 s, Live-Spiel 30 s, TFT Data Dragon bis zu 24 h.
Daten für den jeweiligen Kanal: SteamID64 unter Kontoeinstellungen hinterlegen. Der Server benötigt STEAM_API_KEY. Caching: Profil / Online-Status ca. 30 s, Achievements ca. 15 s, Spielzeit ca. 5 min. Bei privatem Profil, fehlendem API-Key oder ohne laufendes Spiel bleiben die Platzhalter leer. Neu freigeschaltete Achievements können per Socket.IO als newSteamAchievement an den Kanalraum gesendet werden (für Overlays).
Aktuelles Spiel
Variable
Beschreibung
${steamGame}
Name des aktuell von Steam gemeldeten Spiels
${steamGameId}
Steam-AppID des aktuellen Spiels
${steamGameUrl}
Link zur Store-Seite (https://store.steampowered.com/app/…)
${steamStatus}
Status: ingame, online, offline oder away
Achievements (aktuelles Spiel)
Variable
Beschreibung
${steamAchievements}
Anzahl der erreichten Achievements
${steamAchievementsTotal}
Gesamtanzahl der Achievements dieses Spiels
${steamAchievementsPct}
Anteil erreicht (z. B. 47%)
${steamLastAchievement}
Anzeigename des zuletzt freigeschalteten Achievements
${steamLastAchievementDesc}
Beschreibung dieses Achievements
${steamLastAchievementTime}
Relativzeit seit Freischaltung (z. B. vor 12 Minuten)
${steamLastAchievementRare}
Globale Freischaltungsrate (z. B. 3,2%)
${steamLastAchievementIcon}
URL zum Achievement-Icon (Steam-CDN)
Spielzeit
Variable
Beschreibung
${steamHours}
Gesamtspielzeit im aktuellen Spiel (Stunden, deutsch formatiert)
${steamHoursWeek}
Spielzeit in den letzten zwei Wochen im aktuellen Spiel
Profil
Variable
Beschreibung
${steamName}
Steam-Anzeigename (Persona)
${steamAvatarUrl}
URL zum Profilavatar (volle Größe)
${steamProfileUrl}
Link zum Steam-Profil (/profiles/<SteamID64>)
Daten für den jeweiligen Kanal: Chess.com-Nutzername (chessUsername) unter Kontoeinstellungen hinterlegen. Kein API-Key nötig; Aufrufe nutzen die öffentliche Chess.com Pub API mit festem User-Agent. Caching: Profil ca. 5 min, Statistiken ca. 2 min. Ohne Nutzername oder bei API-Fehlern bleiben die Platzhalter leer bzw. Ratings 0 / Siegquote -.
Profil
Variable
Beschreibung
${chessName}
Chess.com: Anzeigename
${chessTitle}
Chess.com: Titel (GM, IM, FM, …)
${chessCountry}
Chess.com: Ländercode (z. B. DE)
${chessFollowers}
Chess.com: Follower-Anzahl
${chessLastOnline}
Chess.com: Zuletzt online (relativ, z. B. vor 12 Minuten)
${chessJoined}
Chess.com: Beitrittsdatum (DD.MM.YYYY)
Ratings (Bullet / Blitz / Rapid / Daily)
Variable
Beschreibung
${chessBulletRating}
Chess.com: Bullet-Rating
${chessBulletWins}
Chess.com: Bullet Siege
${chessBulletLosses}
Chess.com: Bullet Niederlagen
${chessBulletDraws}
Chess.com: Bullet Remis
${chessBulletWinrate}
Chess.com: Bullet Siegquote
${chessBlitzRating}
Chess.com: Blitz-Rating
${chessBlitzWins}
Chess.com: Blitz Siege
${chessBlitzLosses}
Chess.com: Blitz Niederlagen
${chessBlitzDraws}
Chess.com: Blitz Remis
${chessBlitzWinrate}
Chess.com: Blitz Siegquote
${chessRapidRating}
Chess.com: Rapid-Rating
${chessRapidWins}
Chess.com: Rapid Siege
${chessRapidLosses}
Chess.com: Rapid Niederlagen
${chessRapidDraws}
Chess.com: Rapid Remis
${chessRapidWinrate}
Chess.com: Rapid Siegquote
${chessDailyRating}
Chess.com: Daily-Rating
${chessDailyWins}
Chess.com: Daily Siege
${chessDailyLosses}
Chess.com: Daily Niederlagen
${chessDailyDraws}
Chess.com: Daily Remis
${chessDailyWinrate}
Chess.com: Daily Siegquote
Puzzle
Variable
Beschreibung
${chessPuzzleRating}
Chess.com: Puzzle-Rating
${chessPuzzleRushBest}
Chess.com: Puzzle Rush Bestleistung
Zeigt ein Zitat aus der Zitate-Sammlung — überall verfügbar.