Beispiel #1
0
 // Fires when a chat message is received from chat client
 public static void chatOnMessage(object sender, TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     if (e.ChatMessage.Message[0] != '!')
     {
         if (showRawIRC)
         {
             Console.ForegroundColor = ConsoleColor.Cyan;
             Common.message(string.Format("MESSAGE {0}", e.ChatMessage.RawIrcMessage));
         }
         else
         {
             Common.message(string.Format("MESSAGE {0}: {1}", e.ChatMessage.DisplayName, e.ChatMessage.Message));
         }
     }
     if (Common.Raffle != null && Common.Raffle.raffleIsActive())
     {
         Common.Raffle.addEntry(e.ChatMessage.Username, e.ChatMessage.Message);
     }
     ChatFiltering.violatesProtections(e.ChatMessage.Username, Common.isSub(e), Common.isMod(e), e.ChatMessage.Message);
     if (Common.AhoyRewarder.isActive())
     {
         Common.AhoyRewarder.processMessage(e);
     }
     processPotentialSub(e);
     Common.ChatMessageTracker.addMessage(e.ChatMessage);
 }
Beispiel #2
0
 // Internal function to process a received sub and redirect stack to ChatSubs object utilizing chat message as identity
 private static void processPotentialSub(TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     if (e.ChatMessage.Subscriber && !Common.ChatSubs.Contains(e.ChatMessage.Username.ToLower()))
     {
         Common.ChatSubs.Add(e.ChatMessage.Username.ToLower());
     }
 }
Beispiel #3
0
 // Fires when a message is received from the raid instance chat client
 public static void raidOnMessage(object sender, TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     Common.other(string.Format("[RAID]MESSAGE {0}: {1}", e.ChatMessage.DisplayName, e.ChatMessage.Message));
     if (Common.RaidInstance != null)
     {
         Common.RaidInstance.handleMessage(e);
     }
 }
Beispiel #4
0
 // Determine if sender of message is moderator
 public static bool isMod(TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     TwitchLib.ChatMessage.UType UType = e.ChatMessage.UserType;
     if (Moderators.Contains(e.ChatMessage.Username.ToLower()))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #5
0
 // Determine if sender of chat message is a sub
 public static bool isSub(TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     TwitchLib.ChatMessage.UType UType = e.ChatMessage.UserType;
     if (UType == TwitchLib.ChatMessage.UType.Admin || UType == TwitchLib.ChatMessage.UType.GlobalModerator || UType == TwitchLib.ChatMessage.UType.Moderator ||
         UType == TwitchLib.ChatMessage.UType.Staff || e.ChatMessage.Subscriber || Moderators.Contains(e.ChatMessage.Username.ToLower()) ||
         e.ChatMessage.Username.ToLower() == "swiftyspiffy")
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Beispiel #6
0
 // Process message from event
 public void processMessage(TwitchLib.TwitchChatClient.OnMessageReceivedArgs e)
 {
     if (connectedMsgReceived)
     {
         if (e.ChatMessage.Message.ToLower().Contains("ahoy"))
         {
             if (!isFraud(e.ChatMessage.Username))
             {
                 if (first == null)
                 {
                     first = new ahoyReward(e.ChatMessage.Username, firstReward);
                     WebCalls.addDoubloons(first.Username, first.Reward);
                     Common.ChatClient.SendMessage(string.Format("/me rewarded {0} some doubloons ({1}) for the first Ahoy message! [auto] ", first.Username, first.Reward));
                     Common.relay(String.Format("[ahoy] First ahoy reward ({0} doubloons) awarded to: {1}", first.Reward, first.Username));
                 }
                 else if (second == null)
                 {
                     second = new ahoyReward(e.ChatMessage.Username, secondReward);
                     WebCalls.addDoubloons(second.Username, second.Reward);
                     Common.ChatClient.SendMessage(string.Format("/me rewarded {0} some doubloons ({1}) for the second Ahoy message! [auto] ", second.Username, second.Reward));
                     Common.relay(String.Format("[ahoy] Second ahoy reward ({0} doubloons) awarded to: {1}", second.Reward, second.Username));
                 }
                 else
                 {
                     third = new ahoyReward(e.ChatMessage.Username, thirdReward);
                     WebCalls.addDoubloons(third.Username, third.Reward);
                     Common.ChatClient.SendMessage(string.Format("/me rewarded {0} some doubloons ({1}) for the third Ahoy message! [auto] ", third.Username, third.Reward));
                     connectedMsgReceived = false;
                     Common.relay(String.Format("[ahoy] Third ahoy reward ({0} doubloons) awarded to: {1}", third.Reward, third.Username));
                 }
             }
         }
     }
     else
     {
         if (e.ChatMessage.Username.ToLower() == "burke_listener" && e.ChatMessage.Message.ToLower().Contains("connected!") && !e.ChatMessage.Message.ToLower().Contains("disconnect"))
         {
             connectedMsgReceived = true;
         }
     }
 }
Beispiel #7
0
 // Handles raid chat event
 public void handleMessage(TwitchLib.TwitchChatClient.OnMessageReceivedArgs message)
 {
     if (raidTimer.Enabled)
     {
         foreach (string word in message.ChatMessage.Message.ToLower().Split(' '))
         {
             foreach (string gunnerWord in gunnerIdentifiers)
             {
                 if (word == gunnerWord && !gunners.Contains(message.ChatMessage.Username.ToLower()) && message.ChatMessage.Username.ToLower() != "the_kraken_bot")
                 {
                     gunners.Add(message.ChatMessage.Username.ToLower());
                 }
                 if (word == gunnerWord && !participants.Contains(message.ChatMessage.Username.ToLower()) && message.ChatMessage.Username.ToLower() != "the_kraken_bot")
                 {
                     participants.Add(message.ChatMessage.Username.ToLower());
                 }
             }
             foreach (string boarderWord in boarderIdentifiers)
             {
                 if (word == boarderWord && !boarders.Contains(message.ChatMessage.Username.ToLower()) && message.ChatMessage.Username.ToLower() != "the_kraken_bot")
                 {
                     boarders.Add(message.ChatMessage.Username.ToLower());
                 }
                 if (word == boarderWord && !participants.Contains(message.ChatMessage.Username.ToLower()) && message.ChatMessage.Username.ToLower() != "the_kraken_bot")
                 {
                     participants.Add(message.ChatMessage.Username.ToLower());
                 }
             }
         }
     }
     else
     {
         if (message.ChatMessage.Username.ToLower() == "burkeblack")
         {
             raidTimer.Start();
             Common.RaidClient.SendMessage("burkeFlag burkeFlag The Black Crew, ATTACK!!!! burkeFlag burkeFlag", Common.DryRun);
             Common.ChatClient.SendMessage(string.Format("burkeFlag burkeFlag The attack has begun on {0}, get in there! http://twitch.tv/{0}", message.ChatMessage.Channel), Common.DryRun);
         }
     }
 }