Пример #1
0
        public async Task <IActionResult> GetUser(string address)
        {
            var user = await UserModule.GetUser(address);

            if (user != null)
            {
                return(Ok(user));
            }
            else
            {
                return(NotFound());
            }
        }
Пример #2
0
 ChatMessage CreateChatMessage(NightlyCode.Twitch.Chat.ChatMessage message)
 {
     return(new ChatMessage {
         Service = Service,
         User = message.User,
         Message = message.Message,
         AvatarLink = usermodule.GetUser(Service, message.User).Avatar,
         UserColor = GetColor(message.User, message.Color),
         IsWhisper = false,
         Emotes = message.Emotes?.Select(e => new ChatEmote {
             StartIndex = e.FirstIndex,
             EndIndex = e.LastIndex,
             ImageID = imagecache.AddImage(e.GetUrl(3), $"{Service}.emote.{e.ID}"),
         }).ToArray() ?? new ChatEmote[0]
     });
 }
Пример #3
0
        public override bool IsValid(object value)
        {
            if (value == null)
            {
                return(false);
            }
            string userName  = value as string;
            var    duplicate = _userModule.GetUser(userName);

            if (duplicate == null)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #4
0
        public ActionResult Login(LoginModel model, string returnUrl)
        {
            model.UserName = model.UserName.ToLower();
            model.Password = model.Password.ToLower();
            if (ModelState.IsValid && UserModule.ValidateUser(model.UserName, model.Password))
            {
                var    user     = UserModule.GetUser(model.UserName);
                string userData = model.UserName + "," + user.Role + "," + user.Department.Id + "," + user.Name;
                //FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, model.UserName, DateTime.Now, DateTime.Now.AddDays(1), model.RememberMe, userData);
                string     encTicket             = FormsAuthentication.Encrypt(ticket);
                HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
                cookie.Expires = ticket.Expiration;
                Response.Cookies.Add(cookie);
                ElmahLog.Create("Successful Login by user: "******"Failed Login by User: "******", Password : "******"", "The user name or password provided is incorrect.");
            return(View(model));
        }
Пример #5
0
        void CheckFollowers()
        {
            if (cooldown > 0)
            {
                --cooldown;
                return;
            }

            cooldown = 5;

            UserModule usermodule = context.GetModule <UserModule>();

            try {
                foreach (UserInformation follower in GetFollowers())
                {
                    usermodule.SetInitialized(TwitchConstants.ServiceKey, follower.Username);

                    if (!string.IsNullOrEmpty(follower.Avatar))
                    {
                        User user = usermodule.GetUser(TwitchConstants.ServiceKey, follower.Username);
                        if (user.Avatar != follower.Avatar)
                        {
                            usermodule.UpdateUserAvatar(user, follower.Avatar);
                        }
                    }

                    if (usermodule.GetUserStatus(TwitchConstants.ServiceKey, follower.Username) >= UserStatus.Follower)
                    {
                        continue;
                    }

                    if (usermodule.SetUserStatus(TwitchConstants.ServiceKey, follower.Username, UserStatus.Follower))
                    {
                        NewFollower?.Invoke(follower);
                    }
                }
            }
            catch (WebException e)
            {
                Logger.Warning(this, "Unable to get followers", e.Message);
                return;
            }
            catch (Exception e)
            {
                Logger.Error(this, "Unable to get followers", e);
                return;
            }

            try
            {
                foreach (SubscriberInformation subscriber in GetSubscribers())
                {
                    usermodule.SetInitialized(TwitchConstants.ServiceKey, subscriber.Username);

                    if (!string.IsNullOrEmpty(subscriber.Avatar))
                    {
                        User user = usermodule.GetUser(TwitchConstants.ServiceKey, subscriber.Username);
                        if (user.Avatar != subscriber.Avatar)
                        {
                            usermodule.UpdateUserAvatar(user, subscriber.Avatar);
                        }
                    }

                    if (usermodule.GetUserStatus(TwitchConstants.ServiceKey, subscriber.Username) >= subscriber.Status)
                    {
                        continue;
                    }

                    if (usermodule.SetUserStatus(TwitchConstants.ServiceKey, subscriber.Username, subscriber.Status))
                    {
                        NewSubscriber?.Invoke(subscriber);
                    }
                }
            }
            catch (WebException e) {
                Logger.Warning(this, "Unable to get subscribers", e.Message);
                return;
            }
            catch (Exception e) {
                Logger.Error(this, "Unable to get subscribers", e);
                return;
            }

            context.GetModule <UserModule>().EndInitialization(TwitchConstants.ServiceKey);
        }
Пример #6
0
        StreamHttpEvent Convert(StreamEvent streamevent)
        {
            if (streamevent == null)
            {
                return(new StreamHttpEvent {
                    Timestamp = DateTime.Now,
                    Title = new MessageBuilder().Title("Last Event").BuildMessage(),
                    Message = new MessageBuilder().None().BuildMessage()
                });
            }

            StreamHttpEvent httpevent = new StreamHttpEvent {
                Timestamp = streamevent.Timestamp
            };

            if (streamevent.Type == StreamEventType.Custom || !string.IsNullOrEmpty(streamevent.Message))
            {
                httpevent.Message = JSON.Read <Message>(streamevent.Message);
            }
            else
            {
                MessageBuilder message = new MessageBuilder().User(usermodule.GetUser(streamevent.UserID), u => imagemodule.AddImage(u.Avatar));
                int            score   = (int)(streamevent.Value * streamevent.Multiplicator);
                if (score > 0)
                {
                    message.Score(score);
                }
                httpevent.Message = message.BuildMessage();
            }

            if (!string.IsNullOrEmpty(streamevent.Title))
            {
                httpevent.Title = JSON.Read <Message>(streamevent.Message);
            }
            else
            {
                switch (streamevent.Type)
                {
                default:
                    if (!string.IsNullOrEmpty(streamevent.Title))
                    {
                        httpevent.Title = JSON.Read <Message>(streamevent.Title);
                    }
                    else
                    {
                        httpevent.Title = new MessageBuilder().EventTitle("<unknown>").BuildMessage();
                    }
                    break;

                case StreamEventType.Follow:
                    httpevent.Title = new MessageBuilder().EventTitle("New Follower").BuildMessage();
                    break;

                case StreamEventType.Subscription:
                    httpevent.Title = new MessageBuilder().EventTitle("New Subscription").BuildMessage();
                    break;

                case StreamEventType.Host:
                    httpevent.Title = new MessageBuilder().EventTitle("New Host").BuildMessage();
                    break;

                case StreamEventType.Donation:
                    httpevent.Title = CreateDonationMessage(streamevent);
                    break;

                case StreamEventType.BugReport:
                    httpevent.Title = new MessageBuilder().EventTitle("New Bugreport").BuildMessage();
                    break;

                case StreamEventType.Chat:
                    httpevent.Title = new MessageBuilder().EventTitle("New Message").BuildMessage();
                    break;
                }
            }

            return(httpevent);
        }