예제 #1
0
        public CommandHandler(DiscordClient discord, IServiceProvider services, CommandService commands, CommandConfig config)
        {
            _discord      = discord ?? throw new ArgumentNullException(nameof(discord));
            Commands      = commands ?? throw new ArgumentNullException(nameof(commands));
            Services      = services ?? throw new ArgumentNullException(nameof(services));
            Logger        = new LogRaiser(GetType().Name, async(msg) => await Log?.Invoke(msg));
            Commands.Log += Logger.RaiseAsync;

            Config = config;
        }
예제 #2
0
        public DiscordBot(BotConfig config, ICollection <PacketBase> packets)
        {
            _log = new LogRaiser(GetType().Name, async(msg) => await Log?.Invoke(msg));

            if (packets == null)
            {
                throw new ArgumentNullException(nameof(packets));
            }

            _token        = config.Token;
            config.Token  = "";
            Config        = config;
            _discord      = new DiscordClient(Config.DiscordSocket);
            _packets      = new List <PacketBase>(packets);
            _discord.Log += _log.RaiseAsync;
            InitPackets();
            InitCommandsHandler();
        }
예제 #3
0
 public PacketBase()
 {
     Logger = new LogRaiser(GetType().Name, async(msg) => await Log?.Invoke(msg));
 }