actually i forgor to add attachments

This commit is contained in:
ChomeNS 2023-03-26 20:06:44 +07:00
parent 39f67c03e0
commit 371a8fded2

View file

@ -12,11 +12,13 @@ import me.chayapak1.chomens_bot.util.ComponentUtilities;
import me.chayapak1.chomens_bot.util.EscapeCodeBlock; import me.chayapak1.chomens_bot.util.EscapeCodeBlock;
import net.dv8tion.jda.api.JDA; import net.dv8tion.jda.api.JDA;
import net.dv8tion.jda.api.JDABuilder; import net.dv8tion.jda.api.JDABuilder;
import net.dv8tion.jda.api.entities.Message;
import net.dv8tion.jda.api.entities.TextChannel; import net.dv8tion.jda.api.entities.TextChannel;
import net.dv8tion.jda.api.events.message.MessageReceivedEvent; import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
import net.dv8tion.jda.api.hooks.ListenerAdapter; import net.dv8tion.jda.api.hooks.ListenerAdapter;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent; import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.event.ClickEvent;
import net.kyori.adventure.text.format.NamedTextColor; import net.kyori.adventure.text.format.NamedTextColor;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -86,7 +88,8 @@ public class DiscordPlugin {
) return; ) return;
final String tag = event.getAuthor().getAsTag(); final String tag = event.getAuthor().getAsTag();
final String message = event.getMessage().getContentRaw(); final Message _message = event.getMessage();
final String message = _message.getContentRaw();
if (message.startsWith(prefix)) { if (message.startsWith(prefix)) {
final DiscordCommandContext context = new DiscordCommandContext(bot, prefix, event, null, null); final DiscordCommandContext context = new DiscordCommandContext(bot, prefix, event, null, null);
@ -101,12 +104,27 @@ public class DiscordPlugin {
return; return;
} }
Component discordComponent = Component.empty();
if (_message.getAttachments().size() > 0) {
for (Message.Attachment attachment : _message.getAttachments()) {
discordComponent = discordComponent
.append(Component.text(" "))
.append(
Component
.text("[Attachment]")
.clickEvent(ClickEvent.openUrl(attachment.getProxyUrl()))
.color(NamedTextColor.GREEN)
);
}
}
final Component component = Component.translatable( final Component component = Component.translatable(
"[%s %s] %s %s", "[%s %s] %s %s%s",
Component.text("ChomeNS").color(NamedTextColor.YELLOW), Component.text("ChomeNS").color(NamedTextColor.YELLOW),
Component.text("Discord").color(NamedTextColor.BLUE), Component.text("Discord").color(NamedTextColor.BLUE),
Component.text(tag).color(NamedTextColor.RED), Component.text(tag).color(NamedTextColor.RED),
Component.text(message).color(NamedTextColor.GRAY) Component.text(message).color(NamedTextColor.GRAY),
discordComponent
).color(NamedTextColor.DARK_GRAY); ).color(NamedTextColor.DARK_GRAY);
bot.chat().tellraw(component); bot.chat().tellraw(component);
} }
@ -186,8 +204,13 @@ public class DiscordPlugin {
synchronized (logMessages) { synchronized (logMessages) {
StringBuilder logMessage = logMessages.get(channelId); StringBuilder logMessage = logMessages.get(channelId);
message = logMessage.toString(); message = logMessage.toString();
if (message.length() >= 2000) { final int maxLength = 2_000 - ("""
message = message.substring(0, 2000); ```ansi
```"""
).length(); // kinda sus
if (message.length() >= maxLength) {
message = message.substring(0, maxLength);
} }
logMessage.setLength(0); logMessage.setLength(0);
} }