discord-kagebot/src/main/kotlin/moe/kageru/kagebot/Kagebot.kt

34 lines
1.1 KiB
Kotlin
Raw Normal View History

package moe.kageru.kagebot
import moe.kageru.kagebot.Config.Companion.config
import moe.kageru.kagebot.Log.log
import org.javacord.api.DiscordApiBuilder
import org.javacord.api.event.message.MessageCreateEvent
class Kagebot {
companion object {
fun processMessage(event: MessageCreateEvent) {
2019-06-08 23:51:29 +02:00
if (event.messageAuthor.isYourself) {
2019-06-08 23:50:05 +02:00
return
}
for (command in config.commands) {
if (command.matches(event.messageContent)) {
2019-06-08 23:50:05 +02:00
command.execute(event)
break
}
}
}
}
init {
val api = DiscordApiBuilder().setToken(Config.secret).login().join()
2019-06-09 01:04:00 +02:00
Config.server = api.getServerById(config.system.serverId).orElseThrow()
2019-06-09 18:41:51 +02:00
Config.api = api
Runtime.getRuntime().addShutdownHook(Thread {
log.info("Bot has been interrupted. Shutting down.")
api.disconnect()
})
log.info("kagebot Mk II running")
api.addMessageCreateListener { processMessage(it) }
}
}