private void OnNewUserFound(object sender, OnNewUserFoundArgs e) { foreach (var user in e.Users) { if (Viewers.Any(v => String.Compare(v.TwitchID, user.Id) == 0)) // check if user is already in List { return; } var IsUserSubscriber = TwitchLib.TwitchAPI.Subscriptions.v3.ChannelHasUserSubscribed(Core.AivaClient.Instance.Channel, user.Name).Result; Application.Current.Dispatcher.Invoke(() => { Viewers.Add( new Models.Chat.Viewers { Name = user.Name, TwitchID = user.Id, IsSub = IsUserSubscriber != null ? true : false, Type = IsUserSubscriber != null ? nameof(Models.Chat.SortDirectionListView.Subscriber) : nameof(Models.Chat.SortDirectionListView.Viewer) //IsMod = will be filled from the event "ModeratoersReceived" }); }); } // Get Channel Moderators to fire "ModeratorsReceived" Core.AivaClient.Instance.AivaTwitchClient.GetChannelModerators(Core.AivaClient.Instance.Channel); }
/// <summary> /// Fires when new Users joined and add them /// </summary> /// <param name="sender"></param> /// <param name="e"></param> internal static void AddUserToDatabase(object sender, OnNewUserFoundArgs e) { e.Users.ForEach(user => { AddUserToDatabase(user); }); }