Skip to main content

ChatIncluded

ChatIncluded is a plugin for Casterlabs-Caffeinated that automatically translates multilingual chat messages in real time and posts the translation back to chat β€” no commands needed, no manual copy-pasting.

It works seamlessly across Twitch, Kick, and YouTube simultaneously, making it perfect for multi-streamers with international audiences. Trovo and TikTok support coming soon.

Features​

  • πŸ”€ Auto-translation β€” Detects viewer language automatically and translates to your language in real time
  • πŸ’¬ Two-way conversation β€” @mention a viewer and ChatIncluded translates your reply into their language
  • πŸ€– Smart emote handling β€” Uses Casterlabs' message fragments to skip emotes and emoji on all platforms
  • πŸ›‘οΈ Bot exclusion list β€” Add your bots by username to prevent them from triggering translations
  • 🌍 Multi-platform β€” Twitch, Kick, and YouTube simultaneously with cross-platform deduplication
  • πŸ“’ Chat commands β€” Viewers can request translations, set language preferences, and more
  • πŸ” Loop prevention β€” ChatIncluded never re-translates its own output
  • πŸ”” Update notifications β€” Notifies you in the Casterlabs console when a new version is available
  • βš™οΈ Fully configurable β€” Every feature has a settings toggle in the Caffeinated widget panel

Requirements​

ToolWhat it isDownload
Casterlabs CaffeinatedThe streaming app ChatIncluded runs insidecasterlabs.co
DeepL API accountThe translation service ChatIncluded usesdeepl.com

A free DeepL API account gives you 500,000 characters/month β€” plenty for most streamers.

Installation​

Step 1 β€” Download Casterlabs Caffeinated​

ChatIncluded runs as a plugin inside Casterlabs. If you don't have it yet:

  1. Go to casterlabs.co and download Caffeinated
  2. Install and sign in with your streaming accounts

Step 2 β€” Get a DeepL API Key​

  1. Go to deepl.com/pro-api and create a free account
  2. After signing in, click your account name β†’ Account
  3. Scroll down to find your Authentication Key and copy it β€” you'll need it in Step 4

Step 3 β€” Install ChatIncluded​

  1. Download ChatIncluded-Setup.exe
  2. Run the installer β€” it detects Casterlabs automatically and drops the plugin into the right place
  3. Open (or restart) Casterlabs when the installer finishes

Step 4 β€” Configure the Plugin​

  1. In Casterlabs, go to Widgets & Alerts
  2. Click the + button β†’ Other β†’ ChatIncluded Settings
  3. Go to the DeepL API tab and enter your API key and plan type (Free or Pro)
  4. Go to the Language tab and set your Target Language Code (e.g. EN for English)
  5. Settings save automatically β€” there is no Save button

That's it! Send a message in another language from a second account to test it.

Updating ChatIncluded​

When a new version is available, ChatIncluded will notify you in the Casterlabs console at startup:

[ChatIncluded] A new version is available!
[ChatIncluded] Current version : 1.0.0
[ChatIncluded] Latest version : 1.1.0
[ChatIncluded] Update guide : https://chatincluded.live

To update, download and run the latest installer for your platform:

  • Windows β€” ChatIncluded-Setup.exe
  • macOS / Linux β€” download the new chatincluded-1.1.0.jar and re-run install.sh, or copy the JAR directly into your plugins folder

The installer overwrites the existing plugin file automatically. Your settings are preserved.

Settings Reference​

General​

SettingDefaultDescription
Enable ChatIncludedOnMaster on/off switch for the entire plugin
Show sender username in translationsOnAdds @username: to translation output β€” helpful for busy chats

DeepL API​

SettingDescription
DeepL API KeyYour API key from deepl.com
API PlanFree or Pro β€” must match your actual DeepL account type

Language​

SettingDefaultDescription
Target Language CodeENThe language to translate incoming messages into

Performance​

SettingDefaultDescription
Translation Cooldown (ms)500Minimum time between translation requests
Burst Limit5Max translations allowed per cooldown window
Deduplication Window (seconds)10Prevents the same message being translated twice across platforms
Minimum Message Length5Skips very short messages that are often misdetected

Two-Way Conversation​

SettingDefaultDescription
Enable Two-Way TranslationOnTranslates streamer @mentions back into the viewer's language
Remember viewer language for (minutes)30How long to remember a viewer's language

Commands​

SettingDescription
!chatincluded response messageThe message posted when viewers type !chatincluded. Fully customizable
!speak access levelWho can use !speak: Streamer / Mod / Subscriber / Everyone

Bot Exclusions​

SettingDescription
Excluded usernamesComma-separated usernames to ignore (e.g. fossabot, streamelements, nightbot). Case-insensitive

Platforms​

SettingDefaultDescription
Enable on TwitchOnToggle translations for Twitch
Enable on KickOnToggle translations for Kick
Enable on YouTubeOnToggle translations for YouTube

Chat Commands​

CommandWho can use itWhat it does
!chatincludedEveryoneShows plugin info and a link to chatincluded.live
!languagesEveryonePosts the most common language codes and a link to the full list
!setlang ESEveryonePins your preferred language for the session. Sends confirmation in both English and your language. Can be changed any time.
!translate ESEveryoneTranslates the most recent chat message into Spanish
!translate ES Hello!EveryoneTranslates the provided text into Spanish
!translate ES (as a reply)EveryoneTranslates the specific message you replied to
!speak Welcome!ConfigurableTranslates the streamer's message into every language active in the session

Tip for viewers: You don't need to use !setlang β€” ChatIncluded automatically detects your language the first time it translates one of your messages. Use !setlang only if short messages are being translated into the wrong language.


How Two-Way Conversation Works​

ChatIncluded remembers the language of every viewer it has translated. When you @mention a viewer in chat, it automatically translates your reply into their language:

Viewer:       hola como estas
ChatIncluded: [ES->EN] @viewer: Hello how are you
You: @viewer Thanks for watching!
ChatIncluded: @viewer [EN->ES] Β‘Gracias por ver!

No setup needed β€” it works automatically as soon as a viewer's language has been detected.


Language Codes​

CodeLanguageCodeLanguage
ENEnglishKOKorean
ESSpanishZHChinese (simplified)
FRFrenchRURussian
DEGermanARArabic
PTPortugueseNLDutch
ITItalianPLPolish
JAJapaneseSVSwedish
TRTurkishIDIndonesian

Full list: DeepL Supported Languages

Common mistakes: Use ID not IN for Indonesian, ZH not CN for Chinese, JA not JP for Japanese. ChatIncluded will suggest the correct code automatically.


Troubleshooting​

Plugin shows in the list but won't load Fully close Casterlabs (including from the system tray) and reopen it. If the issue persists, re-run the installer.

"Authorization header is missing API key" Make sure you created a ChatIncluded Settings widget and entered your API key. Check that API Plan matches your DeepL account type.

Emotes are being translated Make sure you are on the latest version. Re-run the installer to update.

Single words are being mistranslated Go to ChatIncluded Settings β†’ Performance and increase the Minimum Message Length.

Translations work but replies don't appear in chat The Casterlabs account you are signed in as may not have chat permission on that platform. YouTube requires minimum account age before posting in chat.

Two-way @mention reply isn't working The viewer needs to have sent at least one message that ChatIncluded translated in the current session, or have used !setlang.

!setlang IN says it's not supported Use ID for Indonesian. ChatIncluded will suggest the correct code automatically.

Occasional "GOAWAY received" error A normal HTTP/2 network hiccup affecting only that one message. The plugin continues normally.


Security​

  • The installer (ChatIncluded-Setup.exe) is signed β€” see chatincluded.live/policy.html for the code signing policy
  • Your DeepL API key is stored inside Casterlabs β€” ChatIncluded never writes it to any file
  • Avoid sharing Casterlabs log files (%appdata%\casterlabs-caffeinated\logs\) during debug sessions
  • If your API key is ever exposed, regenerate it at deepl.com/account

Contributing​

ChatIncluded is in active beta. If you find a bug or have a feature request, please open an issue. Pull requests are welcome.