/// <summary> /// Constructs a TwitchResubEventArgs instance from a raw IRC message. /// </summary> /// <param name="rawMessage"></param> public TwitchResubEventArgs(string rawMessage) { var parsedMessage = rawMessage.Split(new[] { " :" }, StringSplitOptions.None); var parsedHeaders = TwitchMessageHelpers.ParseTwitchHeaders(parsedMessage[0]); Username = parsedHeaders["display-name"]; Months = int.Parse(parsedHeaders["msg-param-months"]); Message = string.Join(" :", parsedMessage.Skip(2)); }
/// <summary> /// Constructs a TwitchMessageEventArgs instance from a raw IRC message. /// </summary> /// <param name="rawMessage"></param> public TwitchMessageEventArgs(string rawMessage) { var parsedMessage = rawMessage.Split(new[] { " :" }, StringSplitOptions.None); var parsedHeaders = TwitchMessageHelpers.ParseTwitchHeaders(parsedMessage[0]); // If message contains ':'s we want to preserve them after splitting the raw message. Message = string.Join(" :", parsedMessage.Skip(2)); Username = parsedHeaders["display-name"]; Color = parsedHeaders["color"]; Mod = parsedHeaders["mod"].Equals("1") || parsedHeaders["room-id"].Equals(parsedHeaders["user-id"]); Subscriber = parsedHeaders["subscriber"].Equals("1"); Turbo = parsedHeaders["turbo"].Equals("1"); }