Skip to content

Commit

Permalink
Treat Discord username, nickname, message as literal text
Browse files Browse the repository at this point in the history
Prevents parsing tags unintentionally

Signed-off-by: unilock <unilock@fennet.rentals>
  • Loading branch information
unilock committed Apr 6, 2024
1 parent 0bd6ea9 commit abf3a52
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions src/main/java/cc/unilock/nilcord/util/TextUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ public static Text parseDiscordMessage(String template, String attachmentChunk,
template = template
.replace("<attachment_format>", attachmentChunk)
.replace("<username_format>", usernameChunk)
.replace("<username>", author.getName())
.replace("<nickname>", member.getEffectiveName())
.replace("<role_color>", ColorUtils.getHexColor(member))
.replace("<message>", message.getContentDisplay())
.replace("<message_url>", message.getJumpUrl());

Map<String, Text> placeholders = Map.of(
"reply_format", replyChunk
"reply_format", replyChunk,
"username", Text.literal(author.getName()),
"nickname", Text.literal(member.getEffectiveName()),
"message", Text.literal(message.getContentDisplay())
);

return Placeholders.parseText(parse(template), ANGLE_BRACKETS, placeholders);
Expand All @@ -43,13 +43,16 @@ public static Text parseDiscordReply(String template, Message refMessage) {
Member refMember = refMessage.getMember();

template = template
.replace("<reply_username>", refAuthor.getName())
.replace("<reply_nickname>", refMember == null ? refAuthor.getEffectiveName() : refMember.getEffectiveName())
.replace("<reply_role_color>", refMember == null ? ColorUtils.WHITE : ColorUtils.getHexColor(refMember))
.replace("<reply_message>", refMessage.getContentDisplay())
.replace("<reply_url>", refMessage.getJumpUrl());

return parse(template);
Map<String, Text> placeholders = Map.of(
"reply_username", Text.literal(refAuthor.getName()),
"reply_nickname", Text.literal(refMember == null ? refAuthor.getEffectiveName() : refMember.getEffectiveName()),
"reply_message", Text.literal(refMessage.getContentDisplay())
);

return Placeholders.parseText(parse(template), ANGLE_BRACKETS, placeholders);
}

public static Text parsePlayer(String template, ServerPlayerEntity player) {
Expand Down

0 comments on commit abf3a52

Please sign in to comment.