Skip to content

TwitchEventSub/csharp-socket-sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

C# Eventsub socket implementation sample

usage:

    // ...
    var manager = new EventSubManager("your barer key");

    manager.Builder.WithBarerUserId()
    .Subscription((sub, names) => {
        if (!names.TryGetValue(EventSubscriptionBuilder.BarerUserKey, out var userId) || string.IsNullOrEmpty(userId)) {
            return false;
        }

        sub.Type = "channel.follow";
        sub.Version = "2";
        sub.Condition.Add("broadcaster_user_id", userId);
        sub.Condition.Add("moderator_user_id", userId);
        return true;
    })
    .Add()
    .WithUsers(new List<string> { "foo" })
    .Subscription((sub, names) => {
        if (!names.TryGetValue("foo", out var fooUser) || string.IsNullOrEmpty(fooUser)) {
            return false;
        }

        sub.Type = "channel.raid";
        sub.Version = "1";
        sub.Condition.Add("from_broadcaster_user_id", fooUser);
        return true;
    });

    manager.NotificationHandler = (message) => {
        Console.WriteLine(message);
        return Task.CompletedTask;
    };

    Task.Run(async () => await manager.ConnectAsync()).Wait();

About

Sample code for integrating into projects requiring EventSub websocket

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages