private async void OnStreamOnlineEventAsync(object sender, OnStreamOnlineArgs e) { if (StreamsOnline.Contains(e.Stream.UserId)) { return; } var gameTemp = new List <string> { e.Stream.GameId }; GetGamesResponse getGamesResponse = new GetGamesResponse(); try { getGamesResponse = await TwApi.Helix.Games.GetGamesAsync(gameTemp); } catch (Exception ex) { await Console.Out.WriteLineAsync($"{ex.GetType().Name}: Error at GetGamesResponse. Aborting process. - {ex.Message}"); return; } try { UpdateLiveStreamModelsAsync(e.Stream, getGamesResponse); } catch (Exception ex) { await Console.Out.WriteLineAsync($"{ex.GetType().Name}: Error at UpdateLiveStreamModelsAsync. Aborting process. - {ex.Message}"); return; } EmbedBuilder eb = CreateStreamerEmbed(StreamModels[e.Stream.UserId]); foreach (var x in StreamNotifChannels) { await x.SendMessageAsync(null, false, eb.Build()); } StreamsOnline.Add(e.Stream.UserId); if (StreamsOnline.Contains(e.Stream.UserId)) { await Console.Out.WriteLineAsync($"Successfully add {e.Stream.UserName} to the StreamsOnline list."); } else { await Console.Out.WriteLineAsync($"Failed to add {e.Stream.UserName} to the StreamsOnline list."); } }
private void OnStreamOfflineEvent(object sender, OnStreamOfflineArgs e) { bool removalBool = StreamsOnline.Remove(e.Stream.UserId); Console.Out.WriteLine($"Was able to remove {e.Stream.UserName} from the StreamsOnline List? - {removalBool}"); }