#javascript #node.js #discord #discord.js
#javascript #node.js #Discord #discord.js
Вопрос:
Ну, в настоящее время я использую эмодзи :x:, но на моем сервере у меня есть эмодзи под названием :superbotxemoji: я просто не знаю, как заставить моего бота использовать его
Мой код:
const Discord = require('discord.js');
module.exports = {
name: 'say',
description: 'say',
execute(message, args) {
const { prefix, token } = require('../config.json');
if (!message.member.hasPermission('ADMINISTRATOR'))
return message.channel.send({
embed: {
color: 16777201,
description: `:x: | ${message.author}, You are not allowed to use this command.`,
footer: {
text: ` | Required permission: ADMINISTRATOR`,
},
},
});
if (!args.length)
return message.channel.send({
embed: {
color: 16777201,
description: `:x: | ${message.author}, You need to put a message.`,
footer: {
text: ` | Example: !say hello`,
},
},
});
const sayMessage = args.join(' ');
message.delete({ timeout: 1 });
message.channel.send(sayMessage);
},
};
Ответ №1:
На самом деле есть очень подробное объяснение из официального discord.js
руководства, которое вы можете найти здесь, хотя я попытаюсь его перефразировать.
Чтобы отправить пользовательский смайлик, вы должны получить уникальный смайлик ID
. Чтобы найти это, вы должны отправить эмоцию в discord с обратной косой чертой перед ней; по сути, избегая эмодзи.
В результате смайлики станут уникальными ID
в этом формате: <:emoji-name:emoji-id>
Если вы вставите эту специальную строку в сообщение, бот отправит смайлик. Однако смайлик должен быть из гильдии, частью которой является бот.
С другой стороны, есть еще один очень простой способ получить смайлик, используя client.emojis.cache
коллекцию и .find()
метод.
client.emojis.cache.find(emoji => emoji.name === '<name of emoji>')
Этот метод также позволит отправлять пользовательские смайлики, однако на этот раз вы можете найти их по имени. Будьте осторожны, если есть более одного смайлика с заданным именем, это не сработает.
Способ обойти эту проблему — просмотреть guild.emojis.cache
коллекцию. Таким образом, количество возможных повторяющихся смайликов будет сокращено.