
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.
Date uploaded | 2 months ago |
Version | 2.0.0 |
Download link | Zehs-TwitchChatAPI-2.0.0.zip |
Downloads | 34114 |
Dependency string | Zehs-TwitchChatAPI-2.0.0 |
This mod requires the following mods to function

BepInEx-BepInExPack
BepInEx pack for Mono Unity games. Preconfigured and ready to use.
Preferred version: 5.4.2100README
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
https://github.com/ZehsTeam/TwitchChatAPI/blob/main/TwitchChatAPI/API.cs
namespace TwitchChatAPI;
public static class API
{
public static string Channel { get; }
public static ConnectionState ConnectionState { get; }
public static event Action<ConnectionState> OnConnectionStateChanged;
public static event Action OnConnect;
public static event Action OnDisconnect;
public static event Action<TwitchMessage> OnMessage;
public static event Action<TwitchCheerEvent> OnCheer;
public static event Action<TwitchSubEvent> OnSub;
public static event Action<TwitchRaidEvent> OnRaid;
public static event Action<TwitchRoomState> OnRoomStateUpdate;
public static IReadOnlyCollection<TwitchUser> 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
https://github.com/ZehsTeam/TwitchChatAPI/blob/main/TwitchChatAPI/Objects/TwitchUser.cs
TwitchMessage
https://github.com/ZehsTeam/TwitchChatAPI/blob/main/TwitchChatAPI/Objects/TwitchMessage.cs
TwitchEvents (Cheer, Sub, Raid)
https://github.com/ZehsTeam/TwitchChatAPI/blob/main/TwitchChatAPI/Objects/TwitchEvents.cs
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: https://solo.to/crithaxxog
CHANGELOG
v2.0.0
- Changed root namespace from
com.github.zehsteam.TwitchChatAPI
toTwitchChatAPI
. - Changed plugin guid from
com.github.zehsteam.TwitchChatAPI
toTwitchChatAPI
. - Removed all references to Lethal Company to make this mod work for other games.
- Renamed
SubType
toType
inTwitchSubEvent
. - Removed
IsPrime
bool fromTwitchSubEvent
and addedPrime
option to theSubTier
enum. - Added
Channel
string to the API. - Added
OnConnectionStateChanged
event to the API. - Added
Connect
,Connect(string channel)
, andDisconnect()
methods to the API. - Added extension methods to
TwitchUser
for getting the DisplayName with color as a rich text string.
v1.1.0
- Updated
TwitchSubEvent
class.- Changed
Tier
from an int to an enum. - Renamed
Months
toCumulativeMonths
.
- Changed
- Updated
TwitchUser
class.- Added
Username
property.
- Added
- Updated
API
.- Added
public static IReadOnlyCollection<TwitchUser> Users { get; }
property. - Added
public static bool TryGetUserByUsername(string username, out TwitchUser twitchUser);
method. - Added
public static bool TryGetUserByUserId(string userId, out TwitchUser twitchUser);
method. - Added
public static TwitchUser[] GetUsersSeenWithin(TimeSpan timeSpan);
method.
- Added
v1.0.1
- API events are now invoked on the main thread.
- Bug fixes and improvements.
v1.0.0
- Initial release.