2019-05-20 23:10:28 +02:00
|
|
|
package nl.voidcorp.discord
|
|
|
|
|
2019-05-28 22:35:24 +02:00
|
|
|
import net.dv8tion.jda.api.entities.Activity
|
2019-06-22 22:17:13 +02:00
|
|
|
import net.dv8tion.jda.api.hooks.ListenerAdapter
|
2019-05-24 21:26:27 +02:00
|
|
|
import net.dv8tion.jda.api.sharding.DefaultShardManagerBuilder
|
2019-05-28 22:35:24 +02:00
|
|
|
import nl.voidcorp.discord.storage.ConfigStore
|
2019-05-27 23:06:45 +02:00
|
|
|
import org.springframework.stereotype.Service
|
2019-05-20 23:10:28 +02:00
|
|
|
|
2019-05-27 23:06:45 +02:00
|
|
|
|
|
|
|
@Service
|
2019-08-29 22:11:26 +02:00
|
|
|
class Loader(listeners: List<ListenerAdapter>, store: ConfigStore) {
|
2019-05-20 23:10:28 +02:00
|
|
|
init {
|
|
|
|
val token = System.getenv("DISCORD_TOKEN") ?: throw RuntimeException("'DISCORD_TOKEN' not set!")
|
2020-07-17 17:47:17 +02:00
|
|
|
val builder = DefaultShardManagerBuilder.createDefault(token)
|
2019-05-24 21:26:27 +02:00
|
|
|
|
2019-05-20 23:10:28 +02:00
|
|
|
|
2019-06-22 22:17:13 +02:00
|
|
|
builder.addEventListeners(listeners)
|
2019-05-20 23:10:28 +02:00
|
|
|
|
|
|
|
jda = builder.build()
|
2019-05-28 22:35:24 +02:00
|
|
|
jda.setActivityProvider {
|
|
|
|
Activity.playing("v${store.version} ($it)")
|
|
|
|
}
|
2019-05-20 23:10:28 +02:00
|
|
|
}
|
|
|
|
}
|