예제 #1
0
        protected override void OnInitialize()
        {
            Config  = new Config();
            Data    = new Data(this);
            Strings = new Strings(this);

            // Set announcement mode
            AnnouncementMode = Config.Data.AnnouncementMode;

            // Create the announcer
            announcer               = new Announcer();
            announcer.Announce     += OnAnnounce;
            announcer.AllAnnounced += OnAllAnnouncements;

            // Make an announcement once every hour.
            for (int i = 0; i < 24; i++)
            {
                announcer.AddTime(i, 59, 59);
            }

            announcer.Start();

            Logger.Info("Announcements remaining for {0}: {1}", DateTime.Now.DayOfWeek.ToString(), announcer.AnnouncementsRemaining);

            CommandListener.AddCommand <GetDogOfTheDay>(DOTD);
            CommandListener.AddCommand <GetDogOfTheDayCount>("!dotdcount");
            CommandListener.AddCommand <Stats>("!dotdstats");
            CommandListener.AddCommand <SubmitDogOfTheDay>("!dotdsubmit");
            CommandListener.AddCommand("!dogrnd", GetRandomDog);

            CommandListener.AddCommand("!dogpost", Post, true);
            CommandListener.AddCommand("!dogmovenext", MoveNext, true);
            CommandListener.AddCommand("!dogmute", Mute, true);
            CommandListener.AddCommand("!dogunmute", Unmute, true);
            CommandListener.AddCommand("!dogsort", Sort, true);
            CommandListener.AddCommand("!dogqueue", QueueInfo, true);
            CommandListener.AddCommand("!dogpeek", Peek, true);
            CommandListener.AddCommand("!dogtoggle", ToggleAnnouncementMode, true);
        }