コード例 #1
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
        private static void LoadAdditionalConfig(IPluginManager loader, WelcomeSchedulerConfig config)
        {
            var files = GetAdditionalConfigFiles(loader);

            if (files.Length == 0)
            {
                return;
            }
            var pairs = new List <WelcomeSchedulerSingleUserConfig>();

            pairs.AddRange(config.IdTextPairs);
            foreach (var f in files)
            {
                try {
                    var c = loader.LoadConfig <WelcomeSchedulerSingleUserConfig>(f);
                    if (c != null)
                    {
                        pairs.Add(c);
                    }
                } catch (Exception e) {
                    Logger.DebugLog(e.ToString());
                }
            }
            var checkedPairs = new List <WelcomeSchedulerSingleUserConfig>();

            foreach (var pair in pairs)
            {
                checkedPairs.RemoveAll(p => p.UserId == pair.UserId);
                checkedPairs.Add(pair);
            }
            config.IdTextPairs = checkedPairs.ToArray();
        }
コード例 #2
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
 private void SetText(WelcomeSchedulerConfig config)
 {
     this.Welcome     = this.Welcome.Replace("${default}", config.DefaultWelcome);
     this.Bye         = this.Bye.Replace("${default}", config.DefaultBye);
     this.NameWelcome = this.NameWelcome.Replace("${default}", config.DefaultNameWelcome);
     this.NameBye     = this.NameBye.Replace("${default}", config.DefaultNameBye);
 }
コード例 #3
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
 public WelcomeSchedulerSingleUserConfig(string userid, WelcomeSchedulerConfig config)
 {
     this.UserId      = userid;
     this.Welcome     = "${default}";
     this.Bye         = "${default}";
     this.NameWelcome = "${default}";
     this.NameBye     = "${default}";
     this.Init(config);
 }
コード例 #4
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
        private static WelcomeSchedulerConfig LoadCofig(IPluginManager loader)
        {
            WelcomeSchedulerConfig config;

            try {
                config = loader.GetPluginSetting <WelcomeSchedulerConfig>(NAME);
            } catch (System.IO.FileNotFoundException) {
                config = null;
            } catch (System.Exception e) {
                Logger.DebugLog(e.ToString());
                config = null;
            }
            if (config == null)
            {
                config = new WelcomeSchedulerConfig();
            }
            LoadAdditionalConfig(loader, config);
            config.Init();
            return(config);
        }
コード例 #5
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
 public WelcomeTask(WelcomeSchedulerConfig config) : base(NAME)
 {
     this.Config  = config;
     this.Builder = new MessageBuilder(this.Config);
 }
コード例 #6
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
        public void Initialize(IPluginManager loader, IPlugin[] plugins)
        {
            WelcomeSchedulerConfig config = LoadCofig(loader);

            loader.AddSchedule(new WelcomeTask(config));
        }
コード例 #7
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
 public MessageBuilder(WelcomeSchedulerConfig config)
 {
     this.Config = config;
 }
コード例 #8
0
ファイル: WelcomeScheduler.cs プロジェクト: Nayuki749/Rein
 public void Init(WelcomeSchedulerConfig config)
 {
     SetText(config);
 }