aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDrake <53356436+Ruthenic@users.noreply.github.com>2022-10-02 13:12:48 -0700
committerGitHub <noreply@github.com>2022-10-02 22:12:48 +0200
commitd102d5d976172cf004acf4945e46d274129e776e (patch)
tree982e5a487fa2f6f0ae4b45c225a220067403811d /src
parent46585efc029fd9e99deeef7f9d0f0b6446480a35 (diff)
downloadVencord-d102d5d976172cf004acf4945e46d274129e776e.tar.gz
Vencord-d102d5d976172cf004acf4945e46d274129e776e.tar.bz2
Vencord-d102d5d976172cf004acf4945e46d274129e776e.zip
Make NitroBypass only add spaces when there are none (#26)
Diffstat (limited to 'src')
-rw-r--r--src/plugins/nitroBypass.ts13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/nitroBypass.ts b/src/plugins/nitroBypass.ts
index cd77704..4a0ed44 100644
--- a/src/plugins/nitroBypass.ts
+++ b/src/plugins/nitroBypass.ts
@@ -48,6 +48,10 @@ export default definePlugin({
const { getCustomEmojiById } = findByProps("getCustomEmojiById");
+ function getWordBoundary(origStr, offset) {
+ return (!origStr[offset] || /\s/.test(origStr[offset])) ? "" : " ";
+ }
+
this.preSend = addPreSendListener((_, messageObj) => {
const guildId = this.guildId;
for (const emoji of messageObj.validNonShortcutEmojis) {
@@ -56,7 +60,9 @@ export default definePlugin({
const emojiString = `<${emoji.animated ? 'a' : ''}:${emoji.originalName || emoji.name}:${emoji.id}>`;
const url = emoji.url.replace(/\?size=[0-9]+/, `?size=48`);
- messageObj.content = messageObj.content.replace(emojiString, ` ${url} `);
+ messageObj.content = messageObj.content.replace(emojiString, (match, offset, origStr) => {
+ return `${getWordBoundary(origStr, offset-1)}${url}${getWordBoundary(origStr, offset+match.length)}`;
+ });
}
});
@@ -66,9 +72,12 @@ export default definePlugin({
for (const [emojiStr, _, emojiId] of messageObj.content.matchAll(/(?<!\\)<a?:(\w+):(\d+)>/ig)) {
const emoji = getCustomEmojiById(emojiId);
if (emoji == null || (emoji.guildId === guildId && !emoji.animated)) continue;
+ if (!emoji.require_colons) continue;
const url = emoji.url.replace(/\?size=[0-9]+/, `?size=48`);
- messageObj.content = messageObj.content.replace(emojiStr, ` ${url} `);
+ messageObj.content = messageObj.content.replace(emojiStr, (match, offset, origStr) => {
+ return `${getWordBoundary(origStr, offset-1)}${url}${getWordBoundary(origStr, offset+match.length)}`;
+ });
}
});
},