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