feat: discord stickers

the getMessageComponent is getting VERY messy lol i will probably refactor it but for now it's gonna be very hard to read
This commit is contained in:
Chayapak 2025-02-21 12:26:05 +07:00
parent 3684cde6a7
commit c8ccdfd561
Signed by: ChomeNS
SSH key fingerprint: SHA256:0YoxhdyXsgbc0nfeB2N6FYE60mxMU7DS4uCUMaw2mvA
2 changed files with 35 additions and 2 deletions
build-number.txt
src/main/java/me/chayapak1/chomens_bot/plugins

View file

@ -1 +1 @@
1589
1592

View file

@ -12,6 +12,7 @@ import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.*;
import net.dv8tion.jda.api.entities.channel.concrete.TextChannel;
import net.dv8tion.jda.api.entities.sticker.StickerItem;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.events.session.ShutdownEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter;
@ -271,6 +272,37 @@ public class DiscordPlugin {
}
}
Component stickersComponent = Component.empty();
if (!message.getStickers().isEmpty()) {
if (!message.getContentDisplay().isEmpty()) stickersComponent = stickersComponent.append(Component.space());
for (StickerItem sticker : message.getStickers()) {
stickersComponent = stickersComponent
.append(
Component
.translatable(
"[%s]",
Component
.text(sticker.getName())
.hoverEvent(
HoverEvent.showText(
Component
.text(sticker.getId())
.color(NamedTextColor.GREEN)
)
)
.clickEvent(
ClickEvent.openUrl(
sticker.getIconUrl()
)
)
)
.color(NamedTextColor.GREEN)
)
.append(Component.space());
}
}
final Member member = message.getMember();
final String username = message.getAuthor().getName();
@ -359,12 +391,13 @@ public class DiscordPlugin {
);
final Component messageComponent = Component
.text("")
.empty()
.color(NamedTextColor.GRAY)
.append(
deserialized
.append(attachmentsComponent)
.append(embedsComponent)
.append(stickersComponent)
);
return Component.translatable(