From ab5186cb92b98e338773d83f1b60161fee68d3bf Mon Sep 17 00:00:00 2001 From: Danielle Voznyy Date: Sun, 17 Dec 2023 15:29:25 -0500 Subject: [PATCH] Update discordSrv --- chatty-paper/build.gradle.kts | 1 - .../chatty/listeners/ChattyProxyListener.kt | 4 +- .../chatty/listeners/DiscordListener.kt | 45 ++++++++++--------- gradle/chattyLibs.versions.toml | 8 ++-- 4 files changed, 32 insertions(+), 26 deletions(-) diff --git a/chatty-paper/build.gradle.kts b/chatty-paper/build.gradle.kts index 8d65fe9..7c62bcd 100644 --- a/chatty-paper/build.gradle.kts +++ b/chatty-paper/build.gradle.kts @@ -13,7 +13,6 @@ repositories { maven("https://repo.mineinabyss.com/snapshots") maven("https://repo.extendedclip.com/content/repositories/placeholderapi/") maven("https://nexus.scarsz.me/content/groups/public/") // DiscordSRV - maven("https://m2.dv8tion.net/releases") // DiscordSRV } dependencies { diff --git a/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/ChattyProxyListener.kt b/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/ChattyProxyListener.kt index 96cf3ec..154175a 100644 --- a/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/ChattyProxyListener.kt +++ b/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/ChattyProxyListener.kt @@ -12,12 +12,12 @@ import com.mineinabyss.geary.papermc.tracking.entities.toGeary import com.mineinabyss.idofront.textcomponents.miniMsg import github.scarsz.discordsrv.Debug import github.scarsz.discordsrv.DiscordSRV +import github.scarsz.discordsrv.dependencies.jda.api.Permission +import github.scarsz.discordsrv.dependencies.jda.api.entities.MessageEmbed import github.scarsz.discordsrv.util.DiscordUtil import github.scarsz.discordsrv.util.MessageUtil import github.scarsz.discordsrv.util.PlaceholderUtil import github.scarsz.discordsrv.util.WebhookUtil -import net.dv8tion.jda.api.Permission -import net.dv8tion.jda.api.entities.MessageEmbed import org.bukkit.Bukkit import org.bukkit.entity.Player import org.bukkit.plugin.messaging.PluginMessageListener diff --git a/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/DiscordListener.kt b/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/DiscordListener.kt index 39ce7e0..179b1e3 100644 --- a/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/DiscordListener.kt +++ b/chatty-paper/src/main/kotlin/com/mineinabyss/chatty/listeners/DiscordListener.kt @@ -12,31 +12,30 @@ import com.mineinabyss.idofront.textcomponents.serialize import github.scarsz.discordsrv.api.ListenerPriority import github.scarsz.discordsrv.api.Subscribe import github.scarsz.discordsrv.api.events.* +import github.scarsz.discordsrv.dependencies.jda.api.MessageBuilder +import github.scarsz.discordsrv.dependencies.jda.api.entities.Message +import github.scarsz.discordsrv.dependencies.jda.api.entities.MessageEmbed import github.scarsz.discordsrv.objects.MessageFormat -import net.dv8tion.jda.api.MessageBuilder -import net.dv8tion.jda.api.entities.Message -import net.dv8tion.jda.api.entities.MessageEmbed -import net.dv8tion.jda.api.entities.MessageEmbed.Field import net.kyori.adventure.text.Component -import net.kyori.adventure.text.minimessage.MiniMessage import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer import org.bukkit.Bukkit import org.bukkit.entity.Player +import github.scarsz.discordsrv.dependencies.kyori.adventure.text.Component as ComponentDSV class DiscordListener { - - private val mm = MiniMessage.miniMessage() - private val plainText = PlainTextComponentSerializer.plainText() + private val mm = github.scarsz.discordsrv.dependencies.kyori.adventure.text.minimessage.MiniMessage.miniMessage() + private val plainText = github.scarsz.discordsrv.dependencies.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer.plainText() private val legacy = LegacyComponentSerializer.builder().useUnusualXRepeatedCharacterHexFormat().build() @Subscribe(priority = ListenerPriority.HIGHEST) fun DiscordGuildMessagePostProcessEvent.sendDiscordToProxy() { - minecraftMessage = (minecraftMessage.serialize() - .substringBefore(message.contentRaw) + mm.stripTags(message.contentStripped)).miniMsg() + minecraftMessage = mm.deserialize( + mm.serialize(minecraftMessage).substringBefore(message.contentRaw) + mm.stripTags(message.contentStripped) + ) Bukkit.getServer() - .sendPluginMessage(chatty.plugin, chattyProxyChannel, minecraftMessage.serialize().toByteArray()) + .sendPluginMessage(chatty.plugin, chattyProxyChannel, mm.serialize(minecraftMessage).toByteArray()) } @Subscribe(priority = ListenerPriority.NORMAL) @@ -53,12 +52,12 @@ class DiscordListener { } // Parse the DSRV Component through the Chatty normal MM instance to format tags, then serialize/deserialize it back to DSRV Component - private fun Component.stripFormat(player: Player, channel: ChattyChannel) = - plainText.serialize(this).replace( + private fun ComponentDSV.stripFormat(player: Player, channel: ChattyChannel): ComponentDSV = + mm.deserialize(plainText.serialize(this).replace( plainText.serialize( - translatePlaceholders(player, channel.format).parseTags(player, true).serialize().miniMsg() + mm.deserialize(translatePlaceholders(player, channel.format).parseTags(player, true).serialize()) ), "" - ).miniMsg() + )) @Subscribe fun DeathMessagePreProcessEvent.onDeath() { @@ -83,12 +82,18 @@ class DiscordListener { private fun Message.translatePostFormat(): Message { val message = this val embeds = mutableListOf() - val fields = mutableListOf() + val fields = mutableListOf() message.embeds.forEach { embed -> if (embed.fields.isNotEmpty()) embed.fields.forEach { field -> - fields.add(Field(field.name?.translateEmoteIDs(), field.value?.translateEmoteIDs(), field.isInline)) + fields.add( + MessageEmbed.Field( + field.name?.translateEmoteIDs(), + field.value?.translateEmoteIDs(), + field.isInline + ) + ) } embeds.add( MessageEmbed( @@ -104,7 +109,7 @@ class DiscordListener { } private fun MessageFormat.translatePreFormat(): MessageFormat { - val fields = mutableListOf() + val fields = mutableListOf() val format = this if (content != null) format.content = content.translateEmoteIDs() @@ -114,14 +119,14 @@ class DiscordListener { format.description = description.translateEmoteIDs() if (format.fields != null) format.fields.forEach { f -> - fields.add(Field(f.name?.translateEmoteIDs(), f.value?.translateEmoteIDs(), f.isInline)) + fields.add(MessageEmbed.Field(f.name?.translateEmoteIDs(), f.value?.translateEmoteIDs(), f.isInline)) } format.fields = fields return format } private fun String.cleanUpHackyFix() = - plainText.serialize(this.miniMsg()).replace("\\<", "<").replace("<<", "<") + plainText.serialize(mm.deserialize(this)).replace("\\<", "<").replace("<<", "<") private fun String.translateEmoteIDs(): String { var translated = this diff --git a/gradle/chattyLibs.versions.toml b/gradle/chattyLibs.versions.toml index 5f23fc6..07aa2ee 100644 --- a/gradle/chattyLibs.versions.toml +++ b/gradle/chattyLibs.versions.toml @@ -1,11 +1,13 @@ [versions] geary = "0.27.0" velocity = "3.2.0-SNAPSHOT" -discordsrv = "1.26.2" +discordsrv = "1.27.0-SNAPSHOT" +placeholderapi = "2.11.4" +imageloader = "1.1-SNAPSHOT" [libraries] geary-papermc = { module = "com.mineinabyss:geary-papermc", version.ref = "geary" } velocity = { module = "com.velocitypowered:velocity-api", version.ref = "velocity" } discordsrv = { module = "com.discordsrv:discordsrv", version.ref = "discordsrv" } -placeholderapi = "me.clip:placeholderapi:2.11.4" -imageloader = "com.combimagnetron:imageloader:1.1-SNAPSHOT" +placeholderapi = { module = "me.clip:placeholderapi", version.ref = "placeholderapi" } +imageloader = { module = "com.combimagnetron:imageloader", version.ref = "imageloader" }