Compare commits

...

3 commits

Author SHA1 Message Date
5a13eb5376 feat: add choices 2024-10-14 16:05:37 +09:00
a48e25b33e fix: fixed remove command feature's exception 2024-10-07 15:38:49 +09:00
6cad37f299 docs: change release url 2024-10-07 15:03:40 +09:00
5 changed files with 21 additions and 16 deletions

View file

@ -6,7 +6,7 @@
- [Github](https://github.com/devproje/px32-bot.git)
## How to Use
봇 구동기는 [이곳](https://gitlab.wh64.net/devproje/px32-bot/-/releases)에서 다운로드 받으실 수 있습니다.
봇 구동기는 [이곳](https://github.com/devproje/px32-bot/releases)에서 다운로드 받으실 수 있습니다.
## Developments
API를 사용하여 플러그인 개발을 원하신다면 아래의 코드로 라이브러리를 추가 해 주세요.

View file

@ -2,7 +2,7 @@ kotlin.code.style=official
org.gradle.jvmargs=-Xmx2048M -Dfile.encoding=UTF-8
group=net.projecttl
version=1.0.0-beta.1
version=1.0.0-beta.3
ktor_version=2.3.12
log4j_version=2.23.1

View file

@ -1,5 +1,6 @@
package net.projecttl.p.x32.api.command
import net.dv8tion.jda.api.interactions.commands.Command
import net.dv8tion.jda.api.interactions.commands.OptionType
import net.dv8tion.jda.api.interactions.commands.build.CommandData
import net.dv8tion.jda.api.interactions.commands.build.OptionData
@ -122,7 +123,13 @@ class OptionObj {
var required: Boolean = false
var autoComplete: Boolean = false
var choices = mutableListOf<Command.Choice>()
fun build(): OptionData {
return OptionData(type, name, description, required, autoComplete)
return OptionData(type, name, description, required, autoComplete).apply {
this@OptionObj.choices.forEach {
addChoices(it)
}
}
}
}

View file

@ -33,21 +33,19 @@ fun main(args: Array<out String>) {
if (args.contains("--remove-cmd")) {
jda = kernel.build()
try {
jda.retrieveCommands().queue {
if (it == null) {
return@queue
}
val list = jda.retrieveCommands().complete()
if (list.isEmpty()) {
return
}
it.forEach { command ->
logger.info("unregister command: /${command.name}")
command.jda.deleteCommandById(command.id).queue()
}
list.forEach { command ->
logger.info("unregister command: /${command.name}")
command.jda.deleteCommandById(command.id).complete()
}
} catch (ex: Exception) {
ex.printStackTrace()
}
kernel.kill()
return
}

View file

@ -99,7 +99,10 @@ class CoreKernel(token: String) {
}
fun kill() {
isActive = false
destroy()
logger.info("shutdown now Px32 kernel v${DefaultConfig.version}")
jda.shutdownNow()
}
@ -210,10 +213,7 @@ class CoreKernel(token: String) {
isActive = true
Runtime.getRuntime().addShutdownHook(Thread {
isActive = false
logger.info("shutdown now Px32 kernel v${DefaultConfig.version}")
jda.shutdownNow()
kill()
})
return jda