private async Task <AccessToken> CheckToken(CancellationToken cancellationToken, TwitchService twitchService) { var token = await twitchService.GetToken(); if (token == null) { await UpdateDashboardStatus(IntegrationStatus.Forbidden, cancellationToken); return(null); } if (token.Status == AccessTokenStatus.Expired && token.HasRefreshToken) { await twitchService.RefreshToken(token); } if (token.Status != AccessTokenStatus.Ok) { await UpdateDashboardStatus(IntegrationStatus.Forbidden, cancellationToken); return(null); } return(token); }
private async Task TwitchHandshake(ClientWebSocket webSocket, CancellationToken cancellationToken) { var token = await twitchService.GetToken(); if (token == null) { await dashboardService.UpdateStatus(ApiSource.Twitch, BackgroundServiceStatus.Forbidden, cancellationToken); return; } if (token.Status == AccessTokenStatus.Expired && token.HasRefreshToken) { await twitchService.RefreshToken(token); } if (token.Status != AccessTokenStatus.Ok) { await dashboardService.UpdateStatus(ApiSource.Twitch, BackgroundServiceStatus.Forbidden, cancellationToken); return; } await Send(webSocket, cancellationToken, $"PASS oauth:{token.access_token}"); await Send(webSocket, cancellationToken, $"NICK machacoder"); // TODO: get nick from twitch API }