Cleanup in main classes
This commit is contained in:
parent
e6f73bb178
commit
d425687fb5
|
@ -1,6 +1,7 @@
|
|||
package moe.kageru.kagebot
|
||||
|
||||
import moe.kageru.kagebot.Util.checked
|
||||
import moe.kageru.kagebot.Util.failed
|
||||
import moe.kageru.kagebot.config.Config
|
||||
import moe.kageru.kagebot.config.ConfigParser
|
||||
import moe.kageru.kagebot.config.RawConfig
|
||||
|
@ -18,7 +19,9 @@ object Kagebot {
|
|||
fun processMessage(event: MessageCreateEvent) {
|
||||
if (event.messageAuthor.isBotUser) {
|
||||
if (event.messageAuthor.isYourself) {
|
||||
Log.info("<Self> ${event.readableMessageContent}")
|
||||
val loggedMessage =
|
||||
if (event.readableMessageContent.isBlank()) "[embed]" else event.readableMessageContent
|
||||
Log.info("<Self> $loggedMessage")
|
||||
}
|
||||
return
|
||||
}
|
||||
|
@ -31,24 +34,18 @@ object Kagebot {
|
|||
}
|
||||
|
||||
fun welcomeUser(event: ServerMemberJoinEvent) {
|
||||
Config.features.welcome!!.let { welcome ->
|
||||
val message = event.user.sendMessage(welcome.embed)
|
||||
Config.features.welcome!!.run {
|
||||
val message = event.user.sendMessage(embed)
|
||||
// If the user disabled direct messages, try the fallback (if defined)
|
||||
if (!Util.wasSuccessful(message) &&
|
||||
welcome.fallbackChannel != null &&
|
||||
welcome.fallbackMessage != null
|
||||
) {
|
||||
welcome.fallbackChannel.sendMessage(
|
||||
welcome.fallbackMessage.replace(
|
||||
"@@",
|
||||
MessageUtil.mention(event.user)
|
||||
)
|
||||
if (message.failed() && hasFallback()) {
|
||||
fallbackChannel!!.sendMessage(
|
||||
fallbackMessage!!.replace("@@", MessageUtil.mention(event.user))
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun getSecret() = File("secret").readText().replace("\n", "")
|
||||
private fun getSecret() = File("secret").readText().trim()
|
||||
|
||||
fun init() {
|
||||
Globals.api = DiscordApiBuilder().setToken(getSecret()).login().join()
|
||||
|
|
|
@ -53,13 +53,13 @@ object Util {
|
|||
}
|
||||
}
|
||||
|
||||
fun <T> wasSuccessful(future: CompletableFuture<T>): Boolean {
|
||||
fun <T> CompletableFuture<T>.failed(): Boolean {
|
||||
try {
|
||||
future.join()
|
||||
join()
|
||||
} catch (e: CompletionException) {
|
||||
// we don’t care about this error, but I don’t want to spam stdout
|
||||
}
|
||||
return !future.isCompletedExceptionally
|
||||
return isCompletedExceptionally
|
||||
}
|
||||
|
||||
@Throws(IllegalArgumentException::class)
|
||||
|
|
|
@ -4,6 +4,7 @@ import moe.kageru.kagebot.Log
|
|||
import moe.kageru.kagebot.MessageUtil
|
||||
import moe.kageru.kagebot.Util
|
||||
import moe.kageru.kagebot.Util.applyIf
|
||||
import moe.kageru.kagebot.Util.failed
|
||||
import moe.kageru.kagebot.config.Config
|
||||
import moe.kageru.kagebot.config.RawRedirect
|
||||
import org.javacord.api.entity.channel.TextChannel
|
||||
|
@ -32,7 +33,7 @@ internal class MessageRedirect(rawRedirect: RawRedirect) {
|
|||
}
|
||||
}
|
||||
|
||||
if (!Util.wasSuccessful(MessageUtil.sendEmbed(target, embed))) {
|
||||
if (MessageUtil.sendEmbed(target, embed).failed()) {
|
||||
Log.warn("Could not redirect message to channel $target")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,8 @@ class WelcomeFeature(rawWelcome: RawWelcomeFeature) : MessageFeature() {
|
|||
}
|
||||
}
|
||||
|
||||
fun hasFallback(): Boolean = fallbackChannel != null && fallbackMessage != null
|
||||
|
||||
val embed: EmbedBuilder? by lazy {
|
||||
rawWelcome.content?.let(MessageUtil::listToEmbed)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user