Пример #1
0
        private static async Task MainAsync(string[] args)
        {
            var sc = CommonInitialize.Main(args);

            // Initialize the ASP.NET service provider and freeze this Task indefinitely.
            await using var services = ConfigureServices(sc);
            await CommonInitialize.ConfigureServicesAsync(services);

            var client   = services.GetRequiredService <DiscordSocketClient>();
            var events   = services.GetRequiredService <EventService>();
            var db       = services.GetRequiredService <DbService>();
            var calendar = services.GetRequiredService <CalendarApi>();

            client.MessageUpdated  += events.OnMessageEdit;
            client.ReactionAdded   += events.OnReactionAdd;
            client.ReactionRemoved += events.OnReactionRemove;

            client.MessageUpdated += (_, message, channel) => AnnounceEdit.Handler(client, calendar, db, message);
            client.ReactionAdded  += (cachedMessage, channel, reaction)
                                     => AnnounceReact.HandlerAdd(client, db, cachedMessage, reaction);

            services.GetRequiredService <RunNotiferService>().Initialize();
            services.GetRequiredService <AnnounceMonitor>().Initialize();

            Log.Information("Prima Scheduler logged in!");

            await Task.Delay(-1);
        }
Пример #2
0
        private static async Task MainAsync(string[] args)
        {
            var sc = CommonInitialize.Main(args);

            // Initialize the ASP.NET service provider and freeze this Task indefinitely.
            await using var services = ConfigureServices(sc);
            await CommonInitialize.ConfigureServicesAsync(services);

            var client       = services.GetRequiredService <DiscordSocketClient>();
            var db           = services.GetRequiredService <DbService>();
            var queueService = services.GetRequiredService <FFXIV3RoleQueueService>();

            client.ReactionAdded += (message, channel, reaction)
                                    => AnnounceReact.HandlerAdd(client, queueService, db, message, reaction);

            Log.Information("Prima Queue logged in!");

            await Task.Delay(-1);
        }