Inheritance: Hardly.Games.PlayerPointManager
        private void PointCommand(TwitchUser speaker, string message)
        {
            string otherUserName = message.GetBefore(" ");

            if (otherUserName == null)
            {
                otherUserName = message;
            }
            otherUserName = otherUserName?.Trim().ToLower();
            TwitchUser otherUser = room.factory.GetUserFromName(otherUserName);

            TwitchUserPointManager yourPoints = room.pointManager.ForUser(speaker);
            string chatMessage = "You have ";

            chatMessage += room.pointManager.ToPointsString(yourPoints.Points);

            if (otherUser != null && !otherUser.id.Equals(speaker.id))
            {
                TwitchUserPointManager otherPoints = room.pointManager.ForUser(otherUser);

                chatMessage += " & " + otherUser.name + " has " + room.pointManager.ToPointsString(otherPoints.Points);
            }

            room.SendWhisper(speaker, chatMessage);
        }
        public TwitchUserPointManager ForUser(SqlTwitchUser user)
        {
            TwitchUserPointManager manager;
            if(!userManagers.TryGetValue(user, out manager)) {
                manager = new TwitchUserPointManager(channel, user);
                userManagers.Add(user, manager);
            }

            return manager;
        }
        private void BragCommand(TwitchUser speaker, string message)
        {
            TwitchUserPointManager yourPoints = room.pointManager.ForUser(speaker);

            if (yourPoints.Points >= 50)
            {
                yourPoints.Award(0, -50);
                string chatMessage = speaker.name + " has " + room.pointManager.ToPointsString(yourPoints.Points);
                room.SendChatMessage(chatMessage);
            }
            else
            {
                room.SendWhisper(speaker, "You can't afford a brag...");
            }
        }
        void PlayCommand(TwitchUser speaker, string betMessage)
        {
            ulong bet = controller.room.pointManager.GetPointsFromString(betMessage);
            TwitchUserPointManager userPoints = controller.room.pointManager.ForUser(speaker);

            if (bet > 0)
            {
                bet = controller.game.Join(speaker, userPoints, bet);
                MinHit_StartWaitingForAdditionalPlayers();
                SendJoinMessage(speaker, bet);
                StartIfReady();
            }
            else
            {
                controller.room.SendWhisper(speaker, "You flat broke, come back later.");
            }
        }
        private void PlayCommand(TwitchUser speaker, string additionalText)
        {
            TwitchUserPointManager userPoints = controller.room.pointManager.ForUser(speaker);

            if (userPoints.Points > controller.game.bigBlind)
            {
                controller.game.Join(new TexasHoldemPlayer <TwitchUser>(userPoints, speaker));
                if (controller.game.isReadyToStart)
                {
                    MinHit_StartWaitingForAdditionalPlayers();
                }
                SendJoinMessage(speaker);
                StartIfReady();
            }
            else
            {
                controller.room.SendWhisper(speaker, "You flat broke, come back later.");
            }
        }
        private void CancelPlayCommand(TwitchUser speaker, string additionalText)
        {
            var player = controller.game.GetPlayer(speaker);

            if (player != null)
            {
                TwitchUserPointManager userPoints = controller.room.pointManager.ForUser(speaker);
                userPoints.Award(player.bet, 0);
                controller.room.SendWhisper(speaker, "You're out, later dude.");
                if (!controller.game.isReadyToStart)
                {
                    StopTimers();
                }
            }
            else
            {
                controller.room.SendWhisper(speaker, "You weren't in the game, soooo...");
            }
        }