好吧,我当前正在使用表情符号: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);
},
};
答案 0 :(得分:2)
discord.js
官方指南中实际上有一个非常详细的解释,您可以找到,尽管我将尝试对其进行解释。
要发送自定义表情符号,您必须获取该表情符号的唯一ID
。要找到该表情,您必须将表情符与前面的反斜杠不一致地发送;本质上是逃避表情符号。
这将产生以下格式的唯一表情符号ID
:<:emoji-name:emoji-id>
如果将此特殊字符串粘贴到消息中,则机器人将发送表情符号。但是,表情符号必须来自该机器人所属的公会。
另一方面,还有另一种非常简单的方法,可以使用here集合和client.emojis.cache
方法来获取表情符号。
client.emojis.cache.find(emoji => emoji.name === '<name of emoji>')
此方法还可以发送自定义表情符号,但是,这次您可以按名称查找它们。请注意,如果给定名称中的表情符号不止一个,它将无法正常工作。
一种绕过此问题的方法是查看guild.emojis.cache
集合。这样,可以缩小可能重复的表情符号的数量。
答案 1 :(得分:-1)
您需要让bot通过:superbotxemoji:加入服务器,然后它才能在任何服务器中使用表情符号