Zehs.TwitchChatAPI
2.0.0
dotnet add package Zehs.TwitchChatAPI --version 2.0.0
NuGet\Install-Package Zehs.TwitchChatAPI -Version 2.0.0
<PackageReference Include="Zehs.TwitchChatAPI" Version="2.0.0" />
<PackageVersion Include="Zehs.TwitchChatAPI" Version="2.0.0" />
<PackageReference Include="Zehs.TwitchChatAPI" />
paket add Zehs.TwitchChatAPI --version 2.0.0
#r "nuget: Zehs.TwitchChatAPI, 2.0.0"
#:package Zehs.TwitchChatAPI@2.0.0
#addin nuget:?package=Zehs.TwitchChatAPI&version=2.0.0
#tool nuget:?package=Zehs.TwitchChatAPI&version=2.0.0
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.
<ins>Who needs this mod installed for it to work?</ins> Only you!
API Usage
<details><summary>Click to Expand</summary>
<br>
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!");
}
}
</details>
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
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- BepInEx.Core (>= 5.4.21)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
2.0.0 | 155 | 5/20/2025 |