Twithc API(New, V5), Other Third Party's C# Wrapper
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}");
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}");
}
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}");
}
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})");
}
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}");
}
}
[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;
}
- Giselle.Commons
- Newtonsoft.Json
- System.Web
- Authentication
- New
- Clips
- Games
- Streams
- Tags
- Users
- Videos
- Webhooks
- V5
- Bits
- Channels
- Chat
- Clips
- Games
- Search
- Streams
- Teams
- Users
- Other
- BadgesTwitchTVs
- Get Global Badges
- Get Channel Badges
- CbenniAPIs
- Get Badges (Global+Channel)
- TwitchEmotesAPIs
- Get Emotes
- Get EmoteSets
- BadgesTwitchTVs
Function test and example
Include all functions of TwitchAPIs
- Giselle.Commons
- Newtonsoft.Json
- System.Web
- System.Drawing
- System.Windows.Forms
test, example for Webhooks functions