diff --git a/src/plugins/Starboard.ts b/src/plugins/Starboard.ts index 1992a559..96f9a4a4 100644 --- a/src/plugins/Starboard.ts +++ b/src/plugins/Starboard.ts @@ -99,9 +99,11 @@ export class StarboardPlugin extends ZeppelinPlugin { } emoji = allEmojis[0]; - if (emoji.match(customEmojiRegex)) { + + const customEmojiMatch = emoji.match(customEmojiRegex); + if (customEmojiMatch) { // <:name:id> to name:id, as Eris puts them in the message reactions object - emoji = emoji.substr(2, emoji.length - 1); + emoji = `${customEmojiMatch[1]}:${customEmojiMatch[2]}`; } } while (emoji == null); diff --git a/src/utils.ts b/src/utils.ts index 36a8fa7f..a0f67a11 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -168,10 +168,10 @@ export function getInviteCodesInString(str: string): string[] { } export const unicodeEmojiRegex = emojiRegex(); -export const customEmojiRegex = /<:(?:.*?):(\d+)>/; -export const anyEmojiRegex = new RegExp(`(?:(?:${unicodeEmojiRegex.source})|(?:${customEmojiRegex.source}))`); +export const customEmojiRegex = //; + +const matchAllEmojiRegex = new RegExp(`(${unicodeEmojiRegex.source})|(${customEmojiRegex.source})`, "g"); -const matchAllEmojiRegex = new RegExp(anyEmojiRegex.source, "g"); export function getEmojiInString(str: string): string[] { return str.match(matchAllEmojiRegex) || []; }