Skip to content

gisellevonbingen/TwitchAPIs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TwitchAPIs

Twithc API(New, V5), Other Third Party's C# Wrapper

Examples

Get Own User Information

var twitchAPI = new TwitchAPI();
twitchAPI.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
twitchAPI.AccessToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";

var user = twitchAPI.New.Users.GetUser();

Console.WriteLine();
Console.WriteLine($"Id = {user.Id}");
Console.WriteLine($"Login = {user.Login}");
Console.WriteLine($"DisplayName = {user.DisplayName}");

Get Other User Information

var twitchAPI = new TwitchAPI();
twitchAPI.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

var userRequests = new List<UserRequest>();
userRequests.Add(new UserRequest(UserRequestType.Login, "loginid, email"));

var users = twitchAPI.New.Users.GetUsers(userRequests);

foreach (var user in users)
{
    Console.WriteLine();
    Console.WriteLine($"Id = {user.Id}");
    Console.WriteLine($"Login = {user.Login}");
    Console.WriteLine($"DisplayName = {user.DisplayName}");
}

Get User Followings

var twitchAPI = new TwitchAPI();
twitchAPI.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

var userId = "zzzzzzzzz";
var follows = twitchAPI.V5.Users.GetUserFollows(userId);

foreach (var follow in follows.Follows)
{
    Console.WriteLine();
    Console.WriteLine($"Channel = {follow.Channel.DisplayName}({follow.Channel.Name})");
    Console.WriteLine($"FollowedAt = {follow.CreatedAt}");
}

Get User BlockList

var twitchAPI = new TwitchAPI();
twitchAPI.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
twitchAPI.AccessToken = "yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy";

var userId = "zzzzzzzzz";
var blockList = twitchAPI.V5.Users.GetUserBlockList(userId);

foreach (var block in blockList.Blocks)
{
    Console.WriteLine();
    Console.WriteLine($"Blocked User = {block.DisplayName}({block.Name})");
}

Get Global+Channel Badges

var twitchAPI = new TwitchAPI();
var channelName = "xxxxxxx";
var badges = twitchAPI.Other.CbenniAPI.GetBadges(channelName);

var broadcasterBadge = badges.Get("broadcaster", "1");
var moderatorBadge = badges.Get("moderator", "1");
var subscriberBadge1 = badges.Get("subscriber", "6"); // 6-Month Subscriber
var subscriberBadge2 = badges.Get("subscriber", "12"); // 1-Year Subscriber

foreach (var namePair in badges.Set)
{
    var name = namePair.Key;
    var versionSet = namePair.Value;

    Console.WriteLine();
    Console.WriteLine($"Name = {name}");

    foreach (var versionPair in versionSet)
    {
        var key = versionPair.Key;
        var badge = versionPair.Value;

        Console.WriteLine();
        Console.WriteLine($"    Version = {key}");
        Console.WriteLine($"    Title = {badge.Title}");
        Console.WriteLine($"    Url = {badge.ImageUrl1x}");
    }

}

OAuth Implicit Code Flow

[STAThread]
public static void Main(string[] args)
{
    var twitchAPI = new TwitchAPI();
    twitchAPI.ClientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

    var authRequest = new OAuthRequestTokenCode();
    authRequest.RedirectUri = "Your Application's Redirect URI";
    authRequest.State = Guid.NewGuid().ToString();
    authRequest.Scopes.AddRange(new string[] { "scope1", "scope2", "scope3" });

    var authUri = twitchAPI.Authentication.GetCodeAuthorizeUri(authRequest);
    var responseUri = GetResponseUri(authRequest, authUri);

    if (responseUri == null)
    {
	Console.WriteLine("Authentication Fail");
    }
    else
    {
	var result = twitchAPI.Authentication.GetAuthenticationResult(responseUri, authRequest);
	Console.WriteLine($"Access Token = {result.AccessToken}");

	twitchAPI.AccessToken = result.AccessToken;
    }

}

private static Uri GetResponseUri(OAuthRequestTokenCode authRequest, string authUri)
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);

    Uri responseUri = null;
    var form = new Form();

    var browser = new WebBrowser();
    browser.Size = form.ClientSize;
    browser.Navigated += (sender, e) =>
    {
	var url = browser.Url;

	if (url.AbsoluteUri.StartsWith(authRequest.RedirectUri) == true)
	{
	    responseUri = url;
	    form.Close();
	}

    };

    form.Controls.Add(browser);
    form.SizeChanged += (sender, e) => { browser.Size = form.ClientSize; };

    browser.Navigate(authUri);
    Application.Run(form);

    return responseUri;
}

References

Dependencies

Support functions

TwitchAPIs.Test

Function test and example

Include all functions of TwitchAPIs

Dependencies

TwitchAPIs.WebhooksTest

test, example for Webhooks functions

Dependencies

About

Twitch API's C# Wrapper

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages