コード例 #1
0
        public ApplicationHandler()
        {
            ircHandler = new IrcHandler();
            ircHandler.MessageReceived += Twitch_MessageReceived;
            ircHandler.MessageReceived += Twitch_CheckForCommands;

            discordHandler = new DiscordHandler();
            discordHandler.RunBotAsync().GetAwaiter().GetResult();
            discordHandler.client.MessageReceived += Discord_MessageReceived;

            form = new FrontForm();
            form.StartConnection += Form_StartConnection;
            form.ShowForm();
        }
コード例 #2
0
ファイル: Form1 - Copy.cs プロジェクト: scetticus/LittleWeeb
 private void InitializeSimpleIRC()
 {
     try
     {
         if (irc.isClientRunning())
         {
             irc.stopClient();
         }
     }
     catch
     {
     }
     irc            = new SimpleIRC();
     SharedData.irc = irc;
     irchandler     = new IrcHandler();
 }
コード例 #3
0
        public void Setup(string ServerName, bool LoadConfig = false)
        {
            _servername = ServerName;

            if (CleanConfig.Database)
            {
                Log.Debug("ExtraAddon", sLConsole.GetString("The deleting of messages that older than 30 days have been started."));

                var db = SchumixBase.DManager.Query("SELECT Id, UnixTime FROM message WHERE ServerName = '{0}'", ServerName);
                if (!db.IsNull())
                {
                    foreach (DataRow row in db.Rows)
                    {
                        int time = row["UnixTime"].ToInt32();

                        if ((DateTime.Now - sUtilities.GetDateTimeFromUnixTime(time)).TotalDays > 30)
                        {
                            SchumixBase.DManager.Delete("message", string.Format("Id = '{0}'", row["Id"].ToString()));
                        }
                    }
                }

                Log.Debug("ExtraAddon", sLConsole.GetString("Message deletion has been ended."));
            }

            SchumixBase.DManager.Update("hlmessage", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));
            SchumixBase.DManager.Update("kicklist", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));
            SchumixBase.DManager.Update("modelist", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));
            SchumixBase.DManager.Update("message", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));
            SchumixBase.DManager.Update("notes", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));
            SchumixBase.DManager.Update("notes_users", string.Format("ServerName = '{0}'", ServerName), string.Format("ServerId = '{0}'", IRCConfig.List[ServerName].ServerId));

            if (CleanConfig.Database)
            {
                SchumixBase.sCleanManager.CDatabase.CleanTable("hlmessage");
                SchumixBase.sCleanManager.CDatabase.CleanTable("kicklist");
                SchumixBase.sCleanManager.CDatabase.CleanTable("modelist");
                SchumixBase.sCleanManager.CDatabase.CleanTable("message");
                SchumixBase.sCleanManager.CDatabase.CleanTable("notes");
                SchumixBase.sCleanManager.CDatabase.CleanTable("notes_users");
            }

            // Online
            sFunctions = new Functions(ServerName);
            sFunctions._timeronline.Interval = 10 * 60 * 1000;
            sFunctions._timeronline.Elapsed += sFunctions.HandleIsOnline;
            sFunctions._timeronline.Enabled  = true;
            sFunctions._timeronline.Start();

            sIrcHandler = new IrcHandler(ServerName, sFunctions);
            sNotes      = new Notes(ServerName, sIrcHandler.sNameList);

            sFunctions.IsOnline = false;
            sIrcHandler.sNameList.RandomAllVhost();

            if (IRCConfig.List[_servername].ServerId == 1 || LoadConfig)
            {
                _config = new AddonConfig(Name, ".yml");
            }

            sIrcBase.Networks[ServerName].IrcRegisterHandler("PRIVMSG", HandlePrivmsg);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("NOTICE", HandleNotice);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("JOIN", sIrcHandler.HandleJoin);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("PART", sIrcHandler.HandleLeft);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("KICK", sIrcHandler.HandleKick);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("QUIT", sIrcHandler.HandleQuit);
            sIrcBase.Networks[ServerName].IrcRegisterHandler("NICK", sIrcHandler.HandleNewNick);
            sIrcBase.Networks[ServerName].IrcRegisterHandler(ReplyCode.RPL_NAMREPLY, sIrcHandler.HandleNameList);
            sIrcBase.Networks[ServerName].IrcRegisterHandler(ReplyCode.RPL_ENDOFNAMES, sIrcHandler.HandleEndNameList);
            sIrcBase.Networks[ServerName].IrcRegisterHandler(ReplyCode.RPL_WELCOME, sIrcHandler.HandleSuccessfulAuth);
            InitIrcCommand();
        }
コード例 #4
0
ファイル: IrcParser.cs プロジェクト: modulexcite/QuartziteIrc
 public void AddCommand(String command, IrcHandler handler)
 {
     Commands.Add(command, handler);
 }