示例#1
0
        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);
        }
示例#2
0
文件: Users.cs 项目: vikewoods/Aiva
 /// <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);
     });
 }