TwitchChatAPI
Add Twitch chat integration to your Unity game mods! Subscribe to events like Messages, Cheers, Subs, and Raids. No Twitch authentication or connections required.
About this mod Author’s original text
TwitchChatAPI
Add Twitch chat integration to your Unity game mods! Subscribe to events like Messages, Cheers, Subs, and Raids. No Twitch authentication or connections required.
Who needs this mod installed for it to work? Only you!
API Usage
Click to Expand
Reference TwitchChatAPI in your project's.csproj file.
Add TwitchChatAPI as a dependency to your plugin class.
[BepInDependency(TwitchChatAPI.MyPluginInfo.PLUGIN_GUID, BepInDependency.DependencyFlags.HardDependency)]
[BepInPlugin("You.YourMod", "YourMod", "1.0.0")]
[BepInDependency(TwitchChatAPI.MyPluginInfo.PLUGIN_GUID, BepInDependency.DependencyFlags.HardDependency)]
public class YourMod: BaseUnityPlugin
{
//...
}
API
namespace TwitchChatAPI;
public static class API
{
public static string Channel { get; }
public static ConnectionState ConnectionState { get; }
public static event Action OnConnectionStateChanged;
public static event Action OnConnect;
public static event Action OnDisconnect;
public static event Action OnMessage;
public static event Action OnCheer;
public static event Action OnSub;
public static event Action OnRaid;
public static event Action OnRoomStateUpdate;
public static IReadOnlyCollection Users { get; }
public static void Connect();
public static void Connect(string channel);
public static void Disconnect();
public static bool TryGetUserByUsername(string username, out TwitchUser twitchUser);
public static bool TryGetUserByUserId(string userId, out TwitchUser twitchUser);
public static TwitchUser GetUsersSeenWithin(TimeSpan timeSpan);
}
TwitchUser
TwitchMessage
TwitchEvents (Cheer, Sub, Raid)
Example
using TwitchChatAPI;
using TwitchChatAPI.Enums;
using TwitchChatAPI.Objects;
using UnityEngine;
public class TwitchChatExample: MonoBehaviour
{
private void OnEnable()
{
// Subscribe to Twitch events
API.OnMessage += HandleMessage;
API.OnCheer += HandleCheer;
API.OnSub += HandleSub;
API.OnRaid += HandleRaid;
}
private void OnDisable()
{
// Unsubscribe to avoid memory leaks
API.OnMessage -= HandleMessage;
API.OnCheer -= HandleCheer;
API.OnSub -= HandleSub;
API.OnRaid -= HandleRaid;
}
private void HandleMessage(TwitchMessage message)
{
Debug.Log($"[{message.User.DisplayName}]: {message.Message}");
}
private void HandleCheer(TwitchCheerEvent cheer)
{
Debug.Log($"{cheer.User.DisplayName} cheered {cheer.CheerAmount} bits!");
}
private void HandleSub(TwitchSubEvent sub)
{
//...
}
private void HandleRaid(TwitchRaidEvent raid)
{
Debug.Log($"Raid incoming! {raid.User.DisplayName} is raiding with {raid.ViewerCount} viewers!");
}
}
Developer Contact
Report bugs, suggest features, or provide feedback:
| Discord Server | Forum | Post |
|--------------------|-----------|----------|
| Lethal Company Modding | #mod-releases | TwitchChatAPI |
| Unofficial Lethal Company Community | #mod-releases | TwitchChatAPI |
| R.E.P.O. Modding Server | #released-mods | TwitchChatAPI |
- GitHub Issues Page: TwitchChatAPI
- My Links:
Install & use Install: BepInEx plugin
- The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
- Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
- Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
- Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.
Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.
Install these first, or the mod will not work: