public void SendPlayerLoyaltyData(PlayerController player)
        {
            if (client.Desynchronized)
            {
                return;
            }
            if (player == null || !player)
            {
                return;
            }

            var data = new UserLoyaltyUpdate
            {
                CharacterId    = player.Id,
                IsModerator    = player.IsModerator,
                IsSubscriber   = player.IsSubscriber,
                IsVip          = player.IsVip,
                NewCheeredBits = player.BitsCheered,
                NewGiftedSubs  = player.GiftedSubs,
                UserId         = player.UserId
            };

            player.GiftedSubs  = 0;
            player.BitsCheered = 0;

            connection.SendNoAwait("update_user_loyalty", data);
        }
        public void SendPlayerLoyaltyData(TwitchSubscription d)
        {
            if (client.Desynchronized)
            {
                return;
            }
            var data = new UserLoyaltyUpdate
            {
                IsModerator    = d.IsModerator,
                IsSubscriber   = d.IsSubscriber,
                NewCheeredBits = 0,
                UserName       = d.UserName,
                NewGiftedSubs  = d.ReceiverUserId == null || d.ReceiverUserId == d.UserId ? 0 : 1,
                UserId         = d.UserId
            };

            connection.SendNoAwait("update_user_loyalty", data);
        }