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); }
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); } }