MinnDevelopment / jda-reactor

A collection of kotlin extensions for JDA that make use with reactor-core easier.
Apache License 2.0
23 stars 2 forks source link

Add support to gateway intents #2

Closed SrGaabriel closed 4 years ago

SrGaabriel commented 4 years ago

When i disable those few intents:

    private val disabledIntents: List<GatewayIntent> = listOf(
            GatewayIntent.DIRECT_MESSAGE_TYPING,
            GatewayIntent.DIRECT_MESSAGE_REACTIONS,
            GatewayIntent.DIRECT_MESSAGES,
            GatewayIntent.GUILD_MESSAGE_TYPING,
    )

This runtime error shows up:

Exception in thread "main" reactor.core.Exceptions$ErrorCallbackNotImplemented: reactor.core.Exceptions$ReactorRejectedExecutionException: Scheduler unavailable
Caused by: reactor.core.Exceptions$ReactorRejectedExecutionException: Scheduler unavailable
    at reactor.core.Exceptions.failWithRejected(Exceptions.java:249)
    at reactor.core.publisher.Operators.onRejectedExecution(Operators.java:799)
    at reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.trySchedule(FluxPublishOn.java:763)
    at reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.request(FluxPublishOn.java:731)
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.request(FluxPeekFuseable.java:420)
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:185)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:162)
    at reactor.core.publisher.LambdaSubscriber.onSubscribe(LambdaSubscriber.java:89)
    at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90)
    at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onSubscribe(FluxFilterFuseable.java:82)
    at reactor.core.publisher.FluxPeekFuseable$PeekFuseableConditionalSubscriber.onSubscribe(FluxPeekFuseable.java:454)
    at reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.onSubscribe(FluxPublishOn.java:682)
    at reactor.core.publisher.EmitterProcessor.subscribe(EmitterProcessor.java:165)
    at reactor.core.publisher.FluxPublishOn.subscribe(FluxPublishOn.java:99)
    at reactor.core.publisher.FluxLogFuseable.subscribe(FluxLogFuseable.java:49)
    at reactor.core.publisher.FluxFilterFuseable.subscribe(FluxFilterFuseable.java:52)
    at reactor.core.publisher.FluxMapFuseable.subscribe(FluxMapFuseable.java:63)
    at reactor.core.publisher.Flux.subscribe(Flux.java:7743)
    at reactor.core.publisher.Flux.subscribeWith(Flux.java:7907)
    at reactor.core.publisher.Flux.subscribe(Flux.java:7736)
    at reactor.core.publisher.Flux.subscribe(Flux.java:7700)
    at reactor.core.publisher.Flux.subscribe(Flux.java:7643)
    at club.minnced.jda.reactor.ReactiveEventManager.register(ReactiveEventManager.java:124)
    at net.dv8tion.jda.internal.hooks.EventManagerProxy.register(EventManagerProxy.java:52)
    at net.dv8tion.jda.internal.JDAImpl.addEventListener(JDAImpl.java:824)
    at com.lunala.project.ActionHandler.loadListeners(ActionHandler.kt:28)
    at com.lunala.project.Lunala.launch(Lunala.kt:56)
    at com.lunala.project.LunalaKt.main(Lunala.kt:72)
    at com.lunala.project.LunalaKt.main(Lunala.kt)
Caused by: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@244418a[Not completed, task = reactor.core.scheduler.WorkerTask@36c281ed] rejected from java.util.concurrent.ScheduledThreadPoolExecutor@4b5a078a[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 0]
    at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
    at java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:340)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:579)
    at java.base/java.util.concurrent.ScheduledThreadPoolExecutor.submit(ScheduledThreadPoolExecutor.java:731)
    at java.base/java.util.concurrent.Executors$DelegatedExecutorService.submit(Executors.java:719)
    at reactor.core.scheduler.Schedulers.workerSchedule(Schedulers.java:873)
    at reactor.core.scheduler.ExecutorServiceWorker.schedule(ExecutorServiceWorker.java:43)
    at reactor.core.publisher.FluxPublishOn$PublishOnConditionalSubscriber.trySchedule(FluxPublishOn.java:759)
    ... 26 more
MinnDevelopment commented 4 years ago

Your code has nothing to do with your exception. I'm running bots that only use a single intent GUILD_MESSAGES and they work fine.

MinnDevelopment commented 4 years ago

I assume you enabled a privileged intent which caused your bot to shutdown immediately. This would then cause the ReactiveEventManager to also shutdown, causing this exception.

If that is the case, then this is an issue with your setup and not with this library.

I recommend you read these:

MinnDevelopment commented 4 years ago

Closing this, there is nothing this library needs to do in order to support intents.

SrGaabriel commented 4 years ago

Uhm, ok thank you for the support and sorry for the inconvenience!