Example #1
0
        private void MenuItem_RunBotClicked(object sender, RoutedEventArgs e)
        {
            if (!IsBotRunning)
            {
                var connectionConfig = SuiBot_Core.Storage.ConnectionConfig.Load();
                var coreConfig       = SuiBot_Core.Storage.CoreConfig.Load();

                if (!connectionConfig.IsValidConfig)
                {
                    MessageBox.Show("Invalid connection config!", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    return;
                }

                RemoveNonLogTabs();
                SuiBotInstance = new SuiBot_Core.SuiBot(connectionConfig, coreConfig);
                SuiBotInstance.OnChannelJoining            += SuiBotInstance_OnChannelJoining;
                SuiBotInstance.OnChannelLeaving            += SuiBotInstance_OnChannelLeaving;
                SuiBotInstance.OnChannelStatusUpdate       += SuiBotInstance_OnChannelStatusUpdate;
                SuiBotInstance.OnChatMessageReceived       += SuiBotInstance_OnChatMessageReceived;
                SuiBotInstance.OnChatSendMessage           += SuiBotInstance_OnChatSendMessage;
                SuiBotInstance.OnIrcFeedback               += SuiBotInstance_OnIrcFeedback;
                SuiBotInstance.OnModerationActionPerformed += SuiBotInstance_OnModerationActionPerformed;
                SuiBotInstance.OnShutdown += SuiBotInstance_OnShutdown;
                IsBotRunning = true;
                MenuItem_BotIsRunning.IsChecked = IsBotRunning;
                UpdateChannelsBranchEnable();
                SuiBotSlaveThread = new Thread(SuiBotInstance.Connect);
                SuiBotSlaveThread.Start();
            }
            else
            {
                SuiBotInstance.Shutdown();
            }
        }
Example #2
0
 internal void ShutdownTask()
 {
     ConfigInstance.Save();
     QuotesInstance.Dispose();
     IntervalMessagesInstance.Dispose();
     ChatFiltering.Dispose();
     Cvars.Dispose();
     SuiBotInstance.LeaveChannel(Channel);
 }
Example #3
0
 public void SendChatMessageResponse(ChatMessage messageToRespondTo, string message, bool noPersonMention = false)
 {
     SetUserCooldown(messageToRespondTo, DefaultCooldown);
     if (!noPersonMention)
     {
         var msgResponse = string.Format("@{0}: {1}", messageToRespondTo.Username, message);
         SuiBotInstance.SendChatMessageFeedback("#" + Channel, msgResponse);
         SuiBotInstance.MeebyIrcClient.SendMessage(Meebey.SmartIrc4net.SendType.Message, "#" + Channel, msgResponse);
     }
     else
     {
         SuiBotInstance.SendChatMessageFeedback("#" + Channel, message);
         SuiBotInstance.MeebyIrcClient.SendMessage(Meebey.SmartIrc4net.SendType.Message, "#" + Channel, message);
     }
 }
Example #4
0
 public void SendChatMessage(string message)
 {
     SuiBotInstance.SendChatMessageFeedback("#" + Channel, message);
     SuiBotInstance.MeebyIrcClient.SendMessage(Meebey.SmartIrc4net.SendType.Message, "#" + Channel, message);
 }