Merge pull request #13 from dalbodeule/develop

debugs some codes.
This commit is contained in:
JinU Choi 2024-07-30 16:25:49 +09:00 committed by GitHub
commit ba801040d2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 62 additions and 30 deletions

View File

@ -5,6 +5,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve
import net.dv8tion.jda.api.interactions.commands.OptionType
import net.dv8tion.jda.api.interactions.commands.build.Commands
import net.dv8tion.jda.api.interactions.commands.build.OptionData
import org.jetbrains.exposed.sql.transactions.transaction
import org.slf4j.LoggerFactory
import space.mori.chzzk_bot.chatbot.chzzk.ChzzkHandler
import space.mori.chzzk_bot.chatbot.chzzk.Connector
@ -39,8 +40,15 @@ object AddCommand : CommandInterface {
}
if (manager != null) {
transaction {
user = manager.user
ManagerService.updateManager(user, event.user.idLong, event.user.effectiveName)
}
user?.let { ManagerService.updateManager(it, event.user.idLong, event.user.effectiveName) }
}
if (user == null) {
event.hook.sendMessage("에러가 발생했습니다.").queue()
return
}
val commands = CommandService.getCommands(user!!)
@ -49,10 +57,10 @@ object AddCommand : CommandInterface {
return
}
val chzzkChannel = Connector.getChannel(user.token)
val chzzkChannel = Connector.getChannel(user!!.token)
try {
CommandService.saveCommand(user, label, content, failContent ?: "")
CommandService.saveCommand(user!!, label, content, failContent ?: "")
try {
ChzzkHandler.reloadCommand(chzzkChannel!!)
} catch (_: Exception) {}

View File

@ -5,6 +5,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve
import net.dv8tion.jda.api.interactions.commands.OptionType
import net.dv8tion.jda.api.interactions.commands.build.Commands
import net.dv8tion.jda.api.interactions.commands.build.OptionData
import org.jetbrains.exposed.sql.transactions.transaction
import org.slf4j.LoggerFactory
import space.mori.chzzk_bot.chatbot.chzzk.ChzzkHandler
import space.mori.chzzk_bot.chatbot.chzzk.Connector
@ -31,14 +32,21 @@ object AlertCommand : CommandInterface {
}
if (manager != null) {
transaction {
user = manager.user
ManagerService.updateManager(user, event.user.idLong, event.user.effectiveName)
}
user?.let { ManagerService.updateManager(it, event.user.idLong, event.user.effectiveName) }
}
if (user == null) {
event.hook.sendMessage("에러가 발생했습니다.").queue()
return
}
val chzzkChannel = Connector.getChannel(user!!.token)
try {
val newUser = UserService.updateLiveAlert(user.id.value, channel?.guild?.idLong ?: 0L, channel?.idLong ?: 0L, content ?: "")
val newUser = UserService.updateLiveAlert(user!!.id.value, channel?.guild?.idLong ?: 0L, channel?.idLong ?: 0L, content ?: "")
try {
ChzzkHandler.reloadUser(chzzkChannel!!, newUser)
} catch (_: Exception) {}

View File

@ -5,6 +5,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve
import net.dv8tion.jda.api.interactions.commands.OptionType
import net.dv8tion.jda.api.interactions.commands.build.Commands
import net.dv8tion.jda.api.interactions.commands.build.OptionData
import org.jetbrains.exposed.sql.transactions.transaction
import org.slf4j.LoggerFactory
import space.mori.chzzk_bot.chatbot.chzzk.ChzzkHandler
import space.mori.chzzk_bot.chatbot.chzzk.Connector
@ -35,14 +36,21 @@ object RemoveCommand : CommandInterface {
}
if (manager != null) {
transaction {
user = manager.user
ManagerService.updateManager(user, event.user.idLong, event.user.effectiveName)
}
user?.let { ManagerService.updateManager(it, event.user.idLong, event.user.effectiveName) }
}
if (user == null) {
event.hook.sendMessage("에러가 발생했습니다.").queue()
return
}
val chzzkChannel = Connector.getChannel(user!!.token)
try {
CommandService.removeCommand(user, label)
CommandService.removeCommand(user!!, label)
try {
ChzzkHandler.reloadCommand(chzzkChannel!!)
} catch (_: Exception) {}

View File

@ -5,6 +5,7 @@ import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEve
import net.dv8tion.jda.api.interactions.commands.OptionType
import net.dv8tion.jda.api.interactions.commands.build.Commands
import net.dv8tion.jda.api.interactions.commands.build.OptionData
import org.jetbrains.exposed.sql.transactions.transaction
import org.slf4j.LoggerFactory
import space.mori.chzzk_bot.chatbot.chzzk.ChzzkHandler
import space.mori.chzzk_bot.chatbot.chzzk.Connector
@ -39,14 +40,21 @@ object UpdateCommand : CommandInterface {
}
if (manager != null) {
transaction {
user = manager.user
ManagerService.updateManager(user, event.user.idLong, event.user.effectiveName)
}
user?.let { ManagerService.updateManager(it, event.user.idLong, event.user.effectiveName) }
}
if (user == null) {
event.hook.sendMessage("에러가 발생했습니다.").queue()
return
}
val chzzkChannel = Connector.getChannel(user!!.token)
try {
CommandService.updateCommand(user, label, content, failContent ?: "")
CommandService.updateCommand(user!!, label, content, failContent ?: "")
chzzkChannel?.let { ChzzkHandler.reloadCommand(it) }
event.hook.sendMessage("등록이 완료되었습니다. $label = $content").queue()
} catch (e: Exception) {

View File

@ -1,5 +1,7 @@
package space.mori.chzzk_bot.common.services
import org.jetbrains.exposed.dao.load
import org.jetbrains.exposed.dao.with
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
import org.jetbrains.exposed.sql.and
import org.jetbrains.exposed.sql.transactions.transaction
@ -23,6 +25,7 @@ object ManagerService {
}
fun updateManager(user: User, discordId: Long, name: String): Manager {
return transaction {
if (user.liveAlertGuild == null)
throw RuntimeException("${user.username} has no liveAlertGuild")
@ -30,7 +33,8 @@ object ManagerService {
manager.lastUserName = name
return manager
manager
}
}
fun getUser(guildId: Long, discordId: Long): Manager? {
@ -38,19 +42,19 @@ object ManagerService {
val manager = Manager.find(
(Managers.discordGuildId eq guildId) and (Managers.managerId eq discordId),
)
val result = manager.firstOrNull()
result?.eagerLoad()
result
.with(Manager::user)
.firstOrNull()
manager
}
}
fun getAllUsers(guildId: Long): List<Manager> {
return transaction {
val result = Manager.find(Managers.discordGuildId eq guildId).toList()
val result = Manager.find(Managers.discordGuildId eq guildId)
.with(Manager::user)
.toList()
result.forEach { it.eagerLoad() }
result.forEach { it.load(Manager::user) }
result
}
@ -72,8 +76,4 @@ object ManagerService {
managerRow
}
}
fun Manager.eagerLoad() {
this.user
}
}

View File

@ -1,6 +1,6 @@
kotlin.code.style=official
group = space.mori
version = 1.1.1
version = 1.1.2
org.gradle.jvmargs=-Dfile.encoding=UTF-8
org.gradle.console=plain