Exemplo n.º 1
0
Arquivo: QTCore.cs Projeto: dbqt/QTBot
        private void PubSubClient_OnRewardRedeemed(object sender, TwitchLib.PubSub.Events.OnRewardRedeemedArgs e)
        {
            Utilities.Log($"PubSubClient_OnRewardRedeemed with RewardTitle: {e.RewardTitle}");
            Utilities.Log($"PubSubClient_OnRewardRedeemed with RewardCost: {e.RewardCost}");
            Utilities.Log($"PubSubClient_OnRewardRedeemed with RewardPrompt: {e.RewardPrompt}");
            Utilities.Log($"PubSubClient_OnRewardRedeemed with Message: {e.Message}");
            Utilities.Log($"PubSubClient_OnRewardRedeemed with Status: {e.Status}");

            // Only consider new redeems
            if (e.Status.Equals("UNFULFILLED"))
            {
                QTChatManager.Instance.QueueRedeemAlert(e.RewardTitle, e.DisplayName);
            }

            this.eventsManager?.OnRewardRedeemedEvent(e);
        }
Exemplo n.º 2
0
        private async void Pubsub_OnRewardRedeemed(object sender, TwitchLib.PubSub.Events.OnRewardRedeemedArgs e)
        {
            Logger.Instance.LogMessage(TracingLevel.INFO, $"{e.DisplayName} redeemed {e.RewardTitle} for {e.RewardCost} points. {(String.IsNullOrEmpty(e.Message) ? "" : "Message: " + e.Message)}");

            // Check if channel is live
            var channelInfo = await TwitchChannelInfoManager.Instance.GetChannelInfo(channelName);

            if (channelInfo != null && !channelInfo.IsLive)
            {
                Logger.Instance.LogMessage(TracingLevel.INFO, $"Not raising Channel Points because channel isn't live");
                return;
            }

            // Send Chat Message
            if (!String.IsNullOrEmpty(global.PointsChatMessage))
            {
                TwitchChat.Instance.SendMessage(global.PointsChatMessage.Replace(@"\n", "\n").Replace("{USERNAME}", e.Login).Replace("{DISPLAYNAME}", e.DisplayName).Replace("{TITLE}", e.RewardTitle).Replace("{POINTS}", e.RewardCost.ToString()).Replace("{MESSAGE}", e.Message));
            }

            if (!String.IsNullOrEmpty(global.PointsFlashMessage))
            {
                TwitchChat.Instance.RaisePageAlert(e.DisplayName, global.PointsFlashMessage.Replace("{USERNAME}", e.Login).Replace("{DISPLAYNAME}", e.DisplayName).Replace("{TITLE}", e.RewardTitle).Replace("{POINTS}", e.RewardCost.ToString()).Replace("{MESSAGE}", e.Message), global.PointsFlashColor);
            }
        }