Skip to content

Commit 58717cc

Browse files
committed
Truncate too long custom ping values
1 parent a004e31 commit 58717cc

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/commander/java/com/mcmoddev/mmdbot/commander/custompings/CustomPingsListener.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import net.dv8tion.jda.api.entities.Member;
3434
import net.dv8tion.jda.api.entities.Message;
3535
import net.dv8tion.jda.api.entities.MessageChannel;
36+
import net.dv8tion.jda.api.entities.MessageEmbed;
3637
import net.dv8tion.jda.api.events.message.MessageReceivedEvent;
3738
import net.dv8tion.jda.api.exceptions.ErrorHandler;
3839
import net.dv8tion.jda.api.hooks.EventListener;
@@ -66,7 +67,7 @@ public static void handlePings(final @NonNull Guild guild, @NonNull final Messag
6667
if (userId == author.getIdLong()) return;
6768
guild.retrieveMemberById(userId).queue(user -> {
6869
// They can't view the channel
69-
if (!canViewChannel(guild, user, message.getGuildChannel())) return;
70+
if (!canViewChannel(user, message.getGuildChannel())) return;
7071
user.getUser().openPrivateChannel().queue(privateChannel -> {
7172
final var dmAction = pings.stream()
7273
.filter(p -> p.test(message))
@@ -87,14 +88,14 @@ public static MessageAction sendPingMessage(final CustomPing ping, final Message
8788
return channel.sendMessageEmbeds(
8889
new EmbedBuilder()
8990
.setAuthor("New ping from: %s".formatted(message.getAuthor().getName()), message.getJumpUrl(), message.getAuthor().getAvatarUrl())
90-
.addField(ping.text(), message.getContentRaw().isBlank() ? "[Blank]" : message.getContentRaw(), false)
91+
.addField(ping.text(), Utils.truncate(message.getContentRaw().isBlank() ? "[Blank]" : message.getContentRaw(), MessageEmbed.VALUE_MAX_LENGTH), false)
9192
.addField("Link", message.getJumpUrl(), false)
9293
.setTimestamp(message.getTimeCreated())
9394
.build()
9495
);
9596
}
9697

97-
public static boolean canViewChannel(Guild guild, Member member, GuildChannel channel) {
98+
public static boolean canViewChannel(Member member, GuildChannel channel) {
9899
return member.getPermissions(channel).contains(Permission.VIEW_CHANNEL);
99100
}
100101
}

src/core/java/com/mcmoddev/mmdbot/core/util/Utils.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,10 @@ public static String uppercaseFirstLetter(final String string) {
7676
return string.substring(0, 1).toUpperCase(Locale.ROOT) + string.substring(1);
7777
}
7878

79+
public static String truncate(final String str, int limit) {
80+
return str.length() > (limit - 3) ? str.substring(0, limit - 3) + "..." : str;
81+
}
82+
7983
/**
8084
* Schedules a task to run at the specified {@code date}.
8185
*

0 commit comments

Comments
 (0)