mirror of
https://github.com/devproje/px32-bot.git
synced 2024-11-29 20:13:06 +00:00
HOTFIX: message intent added
This commit is contained in:
parent
74fb7c7e04
commit
75a3b73993
5 changed files with 24 additions and 5 deletions
|
@ -2,7 +2,7 @@ kotlin.code.style=official
|
||||||
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8
|
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
group=net.projecttl
|
group=net.projecttl
|
||||||
version=0.2.0-SNAPSHOT
|
version=0.2.1-SNAPSHOT
|
||||||
|
|
||||||
ktor_version=2.3.12
|
ktor_version=2.3.12
|
||||||
log4j_version=2.23.1
|
log4j_version=2.23.1
|
||||||
|
|
|
@ -6,10 +6,20 @@ import net.projecttl.p.x32.api.model.PluginConfig
|
||||||
import net.projecttl.p.x32.api.util.AsyncTaskContainer
|
import net.projecttl.p.x32.api.util.AsyncTaskContainer
|
||||||
import org.slf4j.Logger
|
import org.slf4j.Logger
|
||||||
import org.slf4j.LoggerFactory
|
import org.slf4j.LoggerFactory
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
abstract class Plugin {
|
abstract class Plugin {
|
||||||
private val handlerContainer = mutableListOf<ListenerAdapter>()
|
private val handlerContainer = mutableListOf<ListenerAdapter>()
|
||||||
val taskContainer = AsyncTaskContainer()
|
val taskContainer = AsyncTaskContainer()
|
||||||
|
val pluginDataDir: File
|
||||||
|
get() {
|
||||||
|
val f = File("plugins/${config.name}")
|
||||||
|
if (!f.exists()) {
|
||||||
|
f.mkdirs()
|
||||||
|
}
|
||||||
|
|
||||||
|
return f
|
||||||
|
}
|
||||||
|
|
||||||
val config = this.javaClass.getResourceAsStream("/plugin.json")!!.let {
|
val config = this.javaClass.getResourceAsStream("/plugin.json")!!.let {
|
||||||
val raw = it.bufferedReader().readText()
|
val raw = it.bufferedReader().readText()
|
||||||
|
|
|
@ -6,10 +6,10 @@ import net.dv8tion.jda.api.JDA
|
||||||
import net.dv8tion.jda.api.JDABuilder
|
import net.dv8tion.jda.api.JDABuilder
|
||||||
import net.dv8tion.jda.api.hooks.ListenerAdapter
|
import net.dv8tion.jda.api.hooks.ListenerAdapter
|
||||||
import net.dv8tion.jda.api.requests.GatewayIntent
|
import net.dv8tion.jda.api.requests.GatewayIntent
|
||||||
|
import net.dv8tion.jda.api.utils.MemberCachePolicy
|
||||||
import net.projecttl.p.x32.api.Plugin
|
import net.projecttl.p.x32.api.Plugin
|
||||||
import net.projecttl.p.x32.api.command.CommandHandler
|
import net.projecttl.p.x32.api.command.CommandHandler
|
||||||
import net.projecttl.p.x32.api.model.PluginConfig
|
import net.projecttl.p.x32.api.model.PluginConfig
|
||||||
import net.projecttl.p.x32.api.util.AsyncTaskContainer
|
|
||||||
import net.projecttl.p.x32.config.Config
|
import net.projecttl.p.x32.config.Config
|
||||||
import net.projecttl.p.x32.func.BundleModule
|
import net.projecttl.p.x32.func.BundleModule
|
||||||
import net.projecttl.p.x32.logger
|
import net.projecttl.p.x32.logger
|
||||||
|
@ -22,11 +22,12 @@ class CoreKernel(token: String) {
|
||||||
private val builder = JDABuilder.createDefault(token, listOf(
|
private val builder = JDABuilder.createDefault(token, listOf(
|
||||||
GatewayIntent.GUILD_PRESENCES,
|
GatewayIntent.GUILD_PRESENCES,
|
||||||
GatewayIntent.GUILD_MEMBERS,
|
GatewayIntent.GUILD_MEMBERS,
|
||||||
|
GatewayIntent.GUILD_MESSAGES,
|
||||||
GatewayIntent.MESSAGE_CONTENT,
|
GatewayIntent.MESSAGE_CONTENT,
|
||||||
GatewayIntent.GUILD_VOICE_STATES,
|
GatewayIntent.GUILD_VOICE_STATES,
|
||||||
GatewayIntent.GUILD_EMOJIS_AND_STICKERS,
|
GatewayIntent.GUILD_EMOJIS_AND_STICKERS,
|
||||||
GatewayIntent.SCHEDULED_EVENTS
|
GatewayIntent.SCHEDULED_EVENTS
|
||||||
))
|
)).setMemberCachePolicy(MemberCachePolicy.ALL)
|
||||||
private val handlers = mutableListOf<ListenerAdapter>()
|
private val handlers = mutableListOf<ListenerAdapter>()
|
||||||
private val commandContainer = CommandHandler()
|
private val commandContainer = CommandHandler()
|
||||||
|
|
||||||
|
@ -159,6 +160,8 @@ class CoreKernel(token: String) {
|
||||||
}
|
}
|
||||||
|
|
||||||
fun destroy() {
|
fun destroy() {
|
||||||
|
val unloaded = mutableListOf<PluginConfig>()
|
||||||
|
|
||||||
plugins.forEach { (config, plugin) ->
|
plugins.forEach { (config, plugin) ->
|
||||||
logger.info("disable ${config.name} plugin...")
|
logger.info("disable ${config.name} plugin...")
|
||||||
|
|
||||||
|
@ -168,6 +171,12 @@ class CoreKernel(token: String) {
|
||||||
logger.error("failed to destroy ${config.name} plugin")
|
logger.error("failed to destroy ${config.name} plugin")
|
||||||
ex.printStackTrace()
|
ex.printStackTrace()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unloaded += config
|
||||||
|
}
|
||||||
|
|
||||||
|
unloaded.forEach {
|
||||||
|
plugins.remove(it)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
version=${project.version}
|
version=${rootProject.version}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "bundle-module",
|
"name": "bundle-module",
|
||||||
"version": "${project.version}",
|
"version": "${rootProject.version}",
|
||||||
"main": "net.projecttl.p.x32.func.BundleModule"
|
"main": "net.projecttl.p.x32.func.BundleModule"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue