示例#1
0
        public async Task InstallCommandService(IServiceProvider _map)
        {
            Client    = _map.GetService(typeof(DiscordSocketClient)) as DiscordSocketClient;
            processor = _map.GetService(typeof(BotCommandProcessor)) as BotCommandProcessor;
            running   = new BotCommandsRunning();
            commands  = new CommandService();
            map       = _map;
            await commands.AddModulesAsync(Assembly.GetEntryAssembly(), _map);

            Client.MessageReceived += HandleCommandDelgate;
        }
示例#2
0
        private IServiceProvider ConfigureServices()
        {
            //setup and add command service.
            cHandler   = new BotCommandHandler();
            cProcessor = new BotCommandProcessor();

            var services = new ServiceCollection()
                           .AddSingleton(Client)
                           .AddSingleton(BotConfig)
                           .AddSingleton(cHandler);
            var provider = new DefaultServiceProviderFactory().CreateServiceProvider(services);

            return(provider);
        }
示例#3
0
        private async Task OnDisconnected(Exception arg)
        {
            try
            {
                await cHandler.RemoveCommandService();

                cHandler   = null;
                cProcessor = null;
            }
            catch (Exception ex)
            {
                ErrorLog.WriteError(ex);
                Console.WriteLine(ex.Message);
            }

            Console.WriteLine("Disconnected");
            Console.WriteLine(arg.Message);
            Ready = false;
        }
示例#4
0
 public AdminModule(IServiceProvider m)
 {
     processor = m.GetService(typeof(BotCommandProcessor)) as BotCommandProcessor;
 }