Ejemplo n.º 1
0
        private void Deserialize(string directory)
        {
            if (!Directory.Exists(directory))
            {
                return;
            }

            DiscordSocketClient client  = _services.GetRequiredService <DiscordSocketClient>();
            WerewolfManager     manager = _services.GetRequiredService <WerewolfManager>();

            foreach (string dir in Directory.GetDirectories(directory))
            {
                ulong guildId = Convert.ToUInt64(Path.GetFileName(dir), 16);

                SocketGuild    guild      = client.GetGuild(guildId);
                JsonSerializer serializer = new JsonSerializer();
                try
                {
                    using (StreamReader sr = new StreamReader(Path.Combine(dir, WerewolfManager.SETTINGS_FILE)))
                        using (JsonReader jr = new JsonTextReader(sr))
                        {
                            WerewolfSettings loadedSettings = serializer.Deserialize <WerewolfSettings>(jr);
                            loadedSettings.Restore(guild);
                            manager.Settings.Add(guild, loadedSettings);
                        }
                }
                catch (IOException ex)
                {
                    _log.Error("Could not load Settings", ex);
                }
            }
        }
Ejemplo n.º 2
0
        // Start the server, Singleton here
        public void Start()
        {
            // Start server
            var builder = new ConfigurationBuilder();

            builder.SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("config.json");
            Configuration = builder.Build();
            // FIXME: refactor this into separate plugin system
            WerewolfManager wm = new WerewolfManager();

            wm.Start();
            DotNetWebServer ws = DotNetWebServer.GetInstance(this);

            ws.Start();
        }