public NadekoBot(int shardId, int parentProcessId, int?port = null) { if (shardId < 0) { throw new ArgumentOutOfRangeException(nameof(shardId)); } //var obj = JsonConvert.DeserializeObject<Dictionary<string, CommandData2>>(File.ReadAllText("./data/command_strings.json")) // .ToDictionary(x => x.Key, x => new CommandData2 // { // Cmd = x.Value.Cmd, // Desc = x.Value.Desc, // Usage = x.Value.Usage.Select(y => y.Substring(1, y.Length - 2)).ToArray(), // }); //File.WriteAllText("./data/command_strings.json", JsonConvert.SerializeObject(obj, Formatting.Indented)); LogSetup.SetupLogger(); _log = LogManager.GetCurrentClassLogger(); TerribleElevatedPermissionCheck(); Credentials = new BotCredentials(); _db = new DbService(Credentials); Client = new DiscordSocketClient(new DiscordSocketConfig { MessageCacheSize = 10, LogLevel = LogSeverity.Warning, ConnectionTimeout = int.MaxValue, TotalShards = Credentials.TotalShards, ShardId = shardId, AlwaysDownloadUsers = false, }); CommandService = new CommandService(new CommandServiceConfig() { CaseSensitiveCommands = false, DefaultRunMode = RunMode.Sync, }); port = port ?? Credentials.ShardRunPort; _comClient = new ShardComClient(port.Value); using (var uow = _db.UnitOfWork) { _botConfig = uow.BotConfig.GetOrCreate(); OkColor = new Color(Convert.ToUInt32(_botConfig.OkColor, 16)); ErrorColor = new Color(Convert.ToUInt32(_botConfig.ErrorColor, 16)); } SetupShard(parentProcessId, port.Value); #if GLOBAL_NADEKO Client.Log += Client_Log; #endif }
public NadekoBot(int shardId, int parentProcessId, int?port = null) { if (shardId < 0) { throw new ArgumentOutOfRangeException(nameof(shardId)); } LogSetup.SetupLogger(); _log = LogManager.GetCurrentClassLogger(); TerribleElevatedPermissionCheck(); Credentials = new BotCredentials(); _db = new DbService(Credentials); Client = new DiscordSocketClient(new DiscordSocketConfig { MessageCacheSize = 10, LogLevel = LogSeverity.Warning, ConnectionTimeout = int.MaxValue, TotalShards = Credentials.TotalShards, ShardId = shardId, AlwaysDownloadUsers = false, }); CommandService = new CommandService(new CommandServiceConfig() { CaseSensitiveCommands = false, DefaultRunMode = RunMode.Sync, }); port = port ?? Credentials.ShardRunPort; _comClient = new ShardComClient(port.Value); using (var uow = _db.UnitOfWork) { _botConfig = uow.BotConfig.GetOrCreate(); OkColor = new Color(Convert.ToUInt32(_botConfig.OkColor, 16)); ErrorColor = new Color(Convert.ToUInt32(_botConfig.ErrorColor, 16)); } SetupShard(parentProcessId, port.Value); #if GLOBAL_NADEKO Client.Log += Client_Log; #endif }