Я хочу включить чат с эмоциями discord.js но есть одна проблема

#javascript #node.js #discord.js

#javascript #node.js #discord.js

Вопрос:

на самом деле этот вопрос задавался в прошлом году, и ответы были очень полезными, но есть проблема, и я не мог ее понять, и я не могу прокомментировать эти ответы, поэтому я решил добавить вопросы

 client.on('message', message => {
    const text = message.content.replace(/:[^:s] :|<:[^:s] :[0-9] >|<a:[^:s] :[0-9] >/g, '').replace(/s /g, '');
    if (text amp;amp; message.channel.id === '772980333049020436') {
        message.delete()
        .catch(console.error);
      }
})
  

Я написал это, и на самом деле он хорошо работает для пользовательских и анимированных смайликов и удаляет текстовые сообщения, но смайлики discord по умолчанию тоже удалены, например: smile: is deleting . Как я могу это исправить

Ответ №1:

Ваше регулярное выражение не соответствует смайликам в Юникоде. Простой способ распознать их — использовать emoji-regex пакет npm.

 const EmojiRegex = require('emoji-regex/RGI_Emoji.js');
const text = message.content
 .replace(/:[^:s] :|<:[^:s] :[0-9] >|<a:[^:s] :[0-9] >/g, '')
 .replace(new EmojiRegex(), '');
 .replace(/s /g, '');
  

Демонстрация Runkit