public static void HandleChatMessage(string jsonStr)
        {
            //TODO: deal with json.

            int index = jsonStr.IndexOf('{');

            string json = jsonStr.Substring(index, jsonStr.Length - index - 1);

            JObject rss = JObject.Parse(json);

            string rssTitle = (string)rss["data"]["message"]["content"];

            ChatMessage msg = new ChatMessage(rss);

            if (OnMessageRecv != null)
            {
                OnMessageRecv.Invoke(msg);
            }

            if (msg.type == "tip")
            {
                TipMessage tipMsg = new TipMessage(msg.name, msg.credit, msg.content);
                OnTipRecieved?.Invoke(tipMsg);
            }
            else if (msg.type == "subscription")
            {
                OnSubscribtion?.Invoke(msg.name);
            }
            else if (msg.type == "milestone")
            {
                OnMilestoneReached?.Invoke(msg.content);
            }
        }
 public static void MilestoneHandler(string jsonStr)
 {
     OnMilestoneReached?.Invoke(jsonStr);
 }