public static ReplyContext FromMessage(ActionBase source, ChatMessage msg, string args) =>
        // public static ReplyContext FromWhisper(ResponseBase source, WhisperMessage whisper) =>
        //     new()
        //     {
        //         UserName = whisper.DisplayName,
        //         ReplyId = whisper.MessageId,
        //         Args = whisper.Message,
        //         IsBroadcaster = whisper.UserType == UserType.Broadcaster,
        //         IsModerator = whisper.UserType == UserType.Moderator,
        //         IsWhisper = true,
        //         Source = source,
        //     };

        public static ReplyContext FromRedemption(ActionBase source, OnRewardRedeemedArgs args) =>
 public static ReplyContext FromUser(ActionBase source, string userName, string args = null) =>