从discord.js中的消息中获取Emoji URL

2022-02-22 00:00:00 emoji discord node.js javascript discord.js

我正在尝试让我的不和谐机器人显示表情符号的图像文件。 所以你发布一个表情符号,机器人就会回复一个附加的表情符号图片。

它适用于机器人在线的服务器的表情符号。 但是我怎样才能从其他服务器获取表情包的url呢?

我用bot.emojis.get搜索表情符号 但是我怎么才能搜索客户端"bot"的"外部"呢?或者以其他方式获取URL?

我的来自联接服务器的表情符号代码:

const emoji = bot.emojis.get(emojiID);

await message.channel.send({files: [
{
  attachment: emoji.url,
  name: emoji.name + '.png'
}
]});

另一个问题是emoji.animated总是返回undefined。为什么? https://discord.js.org/#/docs/main/stable/class/Emoji?scrollTo=animated


解决方案

因为所有emoji URL的格式都是:

https://cdn.discordapp.com/emojis/${emoji.id}./* extension of the emoji e.g: .png */

Y.ou可以简单地使用它,因为您已经有了表情符号的ID。请记住,这只适用于机器人可以访问的表情符号。如果要获取客户端无权访问的表情符号的URL,则需要使用正则表达式从消息中获取表情符号ID。

相关文章