static async Task AsyncMain() { _coreLogger.Info("Starting up bot"); _coreLogger.Info("Reading Config"); var config = CoreConfig.ReadConfig(); var client = new DiscordSocketClient(); client.Log += logging; _coreLogger.Info("Initializing Service Manager"); var serviceDepMap = new ServiceDependencyMap(client); _coreLogger.Info("Initializing Command Handler"); var cmdHandler = new CommandHandler(client, config.Prefix, config.OwnerIds, serviceDepMap); await cmdHandler.AddAllCommands(); _coreLogger.Info("Beginning Login and Connection to Discord"); await client.LoginAsync(TokenType.Bot, config.Token); await client.StartAsync(); cmdHandler.StartListening(); await Task.Delay(-1); }
public static void SetDependencyMap(ServiceDependencyMap dependencyMap) { if (DepMap == null) { DepMap = dependencyMap; } }
public CommandHandler(DiscordSocketClient client, string prefix, ulong[] ownerIds, ServiceDependencyMap dependencyMap) { _client = client; _prefix = prefix; _ownerIds = ownerIds; _dependencyMap = dependencyMap; _commandService = new CommandService(new CommandServiceConfig() { // Private bots wouldn't really benefit from running Mixed or Async. Sync is recommended. DefaultRunMode = RunMode.Sync, CaseSensitiveCommands = false }); ExtendedModuleBase.SetDependencyMap(dependencyMap); _client.MessageReceived += handler; }