public void CheckStatusCommands(TwitchMessage message)
        {
            if (message.user.isBroadcaster || message.user.isMod)
            {
                if (message.message.ToLower().Contains("!gm reset"))
                {
                    Plugin.cooldowns.ResetCooldowns();
                    TwitchPowers.ResetPowers(true);
                    Plugin.twitchPowers.StopAllCoroutines();
                    Plugin.charges = ChatConfig.chargesPerLevel;
                    TwitchWebSocketClient.SendMessage("Resetting non Permanent Powers");
                }
            }


            if (message.message.ToLower().Contains("!gm pp"))
            {
                if (Plugin.currentpp != 0)
                {
                    TwitchWebSocketClient.SendMessage("Streamer Rank: #" + Plugin.currentRank + ". Streamer pp: " + Plugin.currentpp + "pp");
                }
                else
                {
                    TwitchWebSocketClient.SendMessage("Currently do not have streamer info");
                }
            }
            if (message.message.ToLower().Contains("!gm status"))
            {
                string scopeMessage = "";
                int    scope        = CheckCommandScope();
                switch (scope)
                {
                case 0:
                    scopeMessage = "Everyone has access to commands";
                    break;

                case 1:
                    scopeMessage = "Subscribers have access to commands";
                    break;

                case 2:
                    scopeMessage = "Moderators have access to commands";
                    break;
                }

                Plugin.beepSound.Play();
                if (GMPUI.chatIntegration)
                {
                    TwitchWebSocketClient.SendMessage("Chat Integration Enabled. " + scopeMessage);
                }
                else
                {
                    TwitchWebSocketClient.SendMessage("Chat Integration Not Enabled. " + scopeMessage);
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Sends a message to all connected chat clients
 /// </summary>
 /// <param name="message">The message to be sent.</param>
 public static void SendMessage(string message)
 {
     if (YouTubeConnection.initialized && YouTubeLiveBroadcast.currentBroadcast != null)
     {
         YouTubeLiveChat.SendMessage(message);
     }
     if (TwitchWebSocketClient.Initialized && TwitchWebSocketClient.IsChannelValid)
     {
         TwitchWebSocketClient.SendMessage(message);
     }
 }
 private void SendChatMessage(string message)
 {
     try
     {
         Plugin.Log($"Sending message: \"{message}\"");
         TwitchWebSocketClient.SendMessage($"PRIVMSG #{Config.Instance.TwitchChannelName} :{message}");
         TwitchMessage tmpMessage = new TwitchMessage();
         tmpMessage.user = TwitchWebSocketClient.OurTwitchUser;
         MessageParser.Parse(new ChatMessage(message, tmpMessage));
     }
     catch (Exception e)
     {
         Plugin.Log($"Exception was caught when trying to send bot message. {e.ToString()}");
     }
 }
Пример #4
0
// if (!silence) QueueChatMessage($"{request.Key.song["songName"].Value}/{request.Key.song["authorName"].Value} ({songId}) added to the blacklist.");
        private void SendChatMessage(string message)
        {
            try
            {
                Plugin.Log($"Sending message: \"{message}\"");
                //TwitchWebSocketClient.SendMessage($"PRIVMSG #{TwitchLoginConfig.Instance.TwitchChannelName} :{message}");
                TwitchWebSocketClient.SendMessage(message);
                TwitchMessage tmpMessage = new TwitchMessage();
                tmpMessage.user = TwitchWebSocketClient.OurTwitchUser;
                //MessageParser.Parse(new ChatMessage(message, tmpMessage)); // This call is obsolete, when sending a message through TwitchWebSocketClient, the message should automatically appear in chat.
            }
            catch (Exception e)
            {
                Plugin.Log($"Exception was caught when trying to send bot message. {e.ToString()}");
            }
        }
 public void CheckChargeMessage(TwitchMessage message)
 {
     if (message.bits >= ChatConfig.bitsPerCharge && ChatConfig.bitsPerCharge > 0)
     {
         Plugin.charges += (message.bits / ChatConfig.bitsPerCharge);
         TwitchWebSocketClient.SendMessage("Current Charges: " + Plugin.charges);
     }
     if (message.user.displayName.ToLower() == "kyle1413k" && message.message.ToLower().Contains("!charge"))
     {
         Plugin.charges += (ChatConfig.chargesForSuperCharge / 2 + 5);
         TwitchWebSocketClient.SendMessage("Current Charges: " + Plugin.charges);
     }
     if (message.message.ToLower().Contains("!gm") && message.message.ToLower().Contains("super"))
     {
         Plugin.trySuper = true;
     }
 }
        public void CheckInfoCommands(TwitchMessage message)
        {
            if (message.message.ToLower().Contains("!gm help"))
            {
                TwitchWebSocketClient.SendMessage("Guides: For Regular Users - http://bit.ly/1413ChatUser | For Streamers - http://bit.ly/1413Readme | For moderators also view http://bit.ly/1413Config");
            }
            if (message.message.ToLower().Contains("!currentsong"))
            {
                if (!Plugin.isValidScene)
                {
                    TwitchWebSocketClient.SendMessage("No song is currently being played.");
                }
                else
                {
                    TwitchWebSocketClient.SendMessage("Current Song: " + Plugin.levelData.GameplayCoreSceneSetupData.difficultyBeatmap.level.songName
                                                      + " - " + Plugin.levelData.GameplayCoreSceneSetupData.difficultyBeatmap.level.songSubName + " mapped by " + Plugin.levelData.GameplayCoreSceneSetupData.difficultyBeatmap.level.songAuthorName);
                }
            }

            if (message.message.ToLower().Contains("!gm chargehelp"))
            {
                if (ChatConfig.timeForCharges == 0 || ChatConfig.chargesOverTime == 0)
                {
                    TwitchWebSocketClient.SendMessage("Every " + ChatConfig.bitsPerCharge + " bits sent with a message adds a charge, which are used to activate commands! If you add super at the end of a command, it will cost " + ChatConfig.chargesForSuperCharge + " Charges but will make the effect last much longer! " + ChatConfig.chargesPerLevel + " Charges are generated every song with chat mode on.");
                }
                else
                {
                    TwitchWebSocketClient.SendMessage("Every " + ChatConfig.bitsPerCharge + " bits sent with a message adds a charge, which are used to activate commands! If you add super at the end of a command, it will cost " + ChatConfig.chargesForSuperCharge + " Charges but will make the effect last much longer! " + ChatConfig.chargesPerLevel + " Charges are generated every song with chat mode on. Every " + ChatConfig.timeForCharges + " seconds, " + ChatConfig.chargesOverTime + " are added.");
                }
            }
            if (message.message.ToLower().Contains("!gm commands"))
            {
                TwitchWebSocketClient.SendMessage("Currently supported commands | status: Currrent Status of chat integration | charges: view current charges and costs | chargehelp: Explain charge system");
            }


            if (message.message.ToLower().Contains("!gm charges"))
            {
                TwitchWebSocketClient.SendMessage("Charges: " + Plugin.charges + " | Commands Per Message: " + ChatConfig.commandsPerMessage + " | " + ChatConfig.GetChargeCostString());
            }
        }
Пример #7
0
 internal static void SendAsyncMessage(string message)
 {
     TwitchWebSocketClient.SendMessage(message);
 }