예제 #1
0
    protected override bool Setup(IRootConfig rootConfig, IServerConfig config)
    {
        //TODO 读取配置设置isDebug
        Debug.SetLogger(Logger, true);

        try
        {
            updateInterval          = int.Parse(config.Options.Get("UpdateInterval"));
            SyncDebugSystem.isDebug = bool.Parse(config.Options.Get("IsDebug"));
        }
        catch { }

        Debug.Log("SyncService Setup Mode: " + config.Mode
                  + "\nupdateInterval " + updateInterval
                  + "\nisDebug " + SyncDebugSystem.isDebug);

        dataBaseService.Init(this, config);

        m_timerService.Init(this, config);
        matchService.Init(this, config);
        loginService.Init(this, config);
        reConnectService.Init(this, config);
        selectCharacterService.Init(this, config);
        settlementService.Init(this, config);

        m_aiService.Init(this, config);

        CommandMessageService <CommandComponent> .Init();

        UpdateEngine.Init(updateInterval);

        return(base.Setup(rootConfig, config));
    }
예제 #2
0
 public ReactionAdded(ILogger logger, IDatabase db, ModelRepository repo,
                      CommandMessageService commandMessageService, IDiscordCache cache, Bot bot, Cluster cluster,
                      DiscordApiClient rest, EmbedService embeds, PrivateChannelService dmCache)
 {
     _db   = db;
     _repo = repo;
     _commandMessageService = commandMessageService;
     _cache   = cache;
     _bot     = bot;
     _cluster = cluster;
     _rest    = rest;
     _embeds  = embeds;
     _logger  = logger.ForContext <ReactionAdded>();
     _dmCache = dmCache;
 }
예제 #3
0
    private Timer _periodicTask; // Never read, just kept here for GC reasons

    public Bot(ILifetimeScope services, ILogger logger, PeriodicStatCollector collector, IMetrics metrics,
               BotConfig config,
               ErrorMessageService errorMessageService, CommandMessageService commandMessageService,
               Cluster cluster, DiscordApiClient rest, IDiscordCache cache)
    {
        _logger                = logger.ForContext <Bot>();
        _services              = services;
        _collector             = collector;
        _metrics               = metrics;
        _config                = config;
        _errorMessageService   = errorMessageService;
        _commandMessageService = commandMessageService;
        _cluster               = cluster;
        _rest  = rest;
        _cache = cache;
    }
예제 #4
0
 public Context(ILifetimeScope provider, int shardId, Guild?guild, Channel channel, MessageCreateEvent message, int commandParseOffset,
                PKSystem senderSystem, SystemConfig config, MessageContext messageContext)
 {
     Message                = (Message)message;
     ShardId                = shardId;
     Guild                  = guild;
     Channel                = channel;
     System                 = senderSystem;
     Config                 = config;
     MessageContext         = messageContext;
     Cache                  = provider.Resolve <IDiscordCache>();
     Database               = provider.Resolve <IDatabase>();
     Repository             = provider.Resolve <ModelRepository>();
     _metrics               = provider.Resolve <IMetrics>();
     _provider              = provider;
     _commandMessageService = provider.Resolve <CommandMessageService>();
     Parameters             = new Parameters(message.Content?.Substring(commandParseOffset));
     Rest    = provider.Resolve <DiscordApiClient>();
     Cluster = provider.Resolve <Cluster>();
 }
예제 #5
0
    protected override bool Setup(IRootConfig rootConfig, IServerConfig config)
    {
        //TODO 读取配置设置isDebug
        Debug.SetLogger(Logger, true);
        Debug.Log("SyncService Setup Mode: " + config.Mode);

        DataBaseService.Init();

        matchService.Init(this);
        loginService.Init(this);
        reConnectService.Init(this);
        selectCharacterService.Init(this);

        CommandMessageService <CommandComponent> .Init();

        GameMessageService.Init();

        UpdateEngine.Init(updateInterval);

        return(base.Setup(rootConfig, config));
    }