Example #1
0
        public TwitchGlobalUserState(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emote-sets":
                    Emotesets = tag.Value.Split(',');
                    break;

                case "user-id":
                    UserId = tag.Value;
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }
        }
Example #2
0
        public TwitchWhisperMessage(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emotes":
                    Emotes = tag.Value;
                    break;

                case "message-id":
                    MessageId = tag.Value;
                    break;

                case "thread-id":
                    ThreadId = tag.Value;
                    break;

                case "turbo":
                    IsTurbo = tag.Value.Equals("1");
                    break;

                case "user-id":
                    UserId = tag.Value;
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }

            UserName = message.GetUserName();
            Body     = message.GetParameterByIndex(1);
        }
Example #3
0
        public TwitchUserState(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emote-sets":
                    Emotesets = tag.Value.Split(',');
                    break;

                case "mod":
                    IsModerator = tag.Value.Equals("1");
                    break;

                case "subscriber":
                    IsSubscriber = tag.Value.Equals("1");
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }

            Channel = message.GetChannel();
        }
Example #4
0
        public TwitchChatMessage(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "bits":
                    Bits = int.Parse(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emotes":
                    Emotes = tag.Value;
                    break;

                case "emote-only":
                    IsEmotesOnly = tag.Value.Equals("1");
                    break;

                case "id":
                    MessageId = tag.Value;
                    break;

                case "mod":
                    IsModerator = tag.Value.Equals("1");
                    break;

                case "room-id":
                    ChannelId = tag.Value;
                    break;

                case "subscriber":
                    IsSubscriber = tag.Value.Equals("1");
                    break;

                case "tmi-sent-ts":
                    Timestamp = long.Parse(tag.Value);
                    break;

                case "turbo":
                    IsTurbo = tag.Value.Equals("1");
                    break;

                case "user-id":
                    UserId = tag.Value;
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }

            UserName = message.GetUserName();
            Channel  = message.GetChannel();

            string messageBody = message.GetParameterByIndex(1);
            Match  actionMatch = Regex.Match(messageBody, @"\u0001ACTION\s(.+)\u0001");

            if (actionMatch.Success)
            {
                Body     = actionMatch.Groups[1].Value;
                IsAction = true;
            }
            else
            {
                Body = messageBody;
            }
        }
Example #5
0
        public TwitchSubscriptionGift(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emotes":
                    Emotes = tag.Value;
                    break;

                case "id":
                    MessageId = tag.Value;
                    break;

                case "login":
                    UserName = tag.Value;
                    break;

                case "mod":
                    IsModerator = tag.Value.Equals("1");
                    break;

                case "msg-param-months":
                    Months = int.Parse(tag.Value);
                    break;

                case "msg-param-recipient-display-name":
                    RecipientDisplayName = tag.Value;
                    break;

                case "msg-param-recipient-id":
                    RecipientUserId = tag.Value;
                    break;

                case "msg-param-recipient-user-name":
                    RecipientUserName = tag.Value;
                    break;

                case "msg-param-sub-plan":
                    SubscriptionPlanType = ConvertToSubscriptionPlanType(tag.Value);
                    break;

                case "msg-param-sub-plan-name":
                    SubscriptionPlanName = tag.Value.Replace("\\s", " ");
                    break;

                case "room-id":
                    ChannelId = tag.Value;
                    break;

                case "subscriber":
                    IsSubscriber = tag.Value.Equals("1");
                    break;

                case "system-msg":
                    SystemMessage = tag.Value.Replace("\\s", " ");
                    break;

                case "tmi-sent-ts":
                    Timestamp = long.Parse(tag.Value);
                    break;

                case "turbo":
                    IsTurbo = tag.Value.Equals("1");
                    break;

                case "user-id":
                    UserId = tag.Value;
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }

            Channel = message.GetChannel();
        }
Example #6
0
        public TwitchChannelRitual(IrcMessage message)
        {
            foreach (KeyValuePair <string, string> tag in message.Tags)
            {
                switch (tag.Key)
                {
                case "badges":
                    Badges = ParseBadges(tag.Value);
                    break;

                case "color":
                    UserColor = tag.Value;
                    break;

                case "display-name":
                    DisplayName = tag.Value;
                    break;

                case "emotes":
                    Emotes = tag.Value;
                    break;

                case "id":
                    MessageId = tag.Value;
                    break;

                case "login":
                    UserName = tag.Value;
                    break;

                case "mod":
                    IsModerator = tag.Value.Equals("1");
                    break;

                case "msg-param-ritual-name":
                    RitualName = tag.Value;
                    break;

                case "room-id":
                    ChannelId = tag.Value;
                    break;

                case "subscriber":
                    IsSubscriber = tag.Value.Equals("1");
                    break;

                case "system-msg":
                    SystemMessage = tag.Value.Replace("\\s", " ");
                    break;

                case "tmi-sent-ts":
                    Timestamp = long.Parse(tag.Value);
                    break;

                case "turbo":
                    IsTurbo = tag.Value.Equals("1");
                    break;

                case "user-id":
                    UserId = tag.Value;
                    break;

                case "user-type":
                    UserType = ConvertToUserType(tag.Value);
                    break;
                }
            }

            Channel = message.GetChannel();
            Message = message.GetParameterByIndex(1);
        }