📜  如何在 discord.js 中从服务器定义表情符号 - Javascript (1)

📅  最后修改于: 2023-12-03 15:38:14.838000             🧑  作者: Mango

如何在 Discord.js 中从服务器定义表情符号

有时候,在编写 Discord 机器人时,您可能需要从服务器定义表情符号,以便您的代码可以动态地使用它们。在这个教程中,我们将介绍如何使用 Discord.js 库在服务器上定义表情符号。

确保您拥有管理员权限

在执行下面的操作之前,请确保您的机器人拥有足够的权限来管理服务器表情符号。您需要至少在服务器上拥有管理员权限,才能定义和管理表情符号。

安装 Discord.js

首先,您需要安装 Discord.js(如果尚未安装)。您可以使用以下命令在终端中安装它:

npm install discord.js
从服务器获取表情符号

要从服务器获取表情符号,您可以使用Discord API提供的 API。以下是一个示例代码片段,它使用 Discord.js 库中内置的 Guild 类来获取服务器中的表情符号。

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  const guild = client.guilds.cache.get('SERVER_ID');
  const emoji = guild.emojis.cache.get('EMOJI_ID');
  console.log(emoji.name, emoji.id);
});

client.login('TOKEN');

在上面的代码片段中,我们首先从 client 对象中获取 guilds 缓存中的服务器对象,然后使用 emojis 缓存获取表情符号对象,并使用 nameid 属性将其名称和 ID 打印到控制台上。

请确保将 SERVER_IDEMOJI_ID 替换为正确的服务器和表情符号 ID。您可以从 Discord 应用程序中的“开发人员模式”下拉菜单中的“服务器设置”页面获取它们。

创建表情符号

现在您已经知道如何从服务器获取表情符号,那么如何从代码中创建表情符号呢?这也很简单。您可以使用 Guild 类中的 createEmoji() 方法来创建表情符号。以下是一个示例代码片段,它将在服务器上创建一个名为“test”、图像为 face.png 的表情符号。

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  const guild = client.guilds.cache.get('SERVER_ID');
  guild.emojis.create('path/to/image/face.png', 'test')
    .then(emoji => console.log(`Created new emoji with name ${emoji.name}!`))
    .catch(console.error);
});

client.login('TOKEN');

在上面的代码片段中,我们首先从 client 对象中获取 guilds 缓存中的服务器对象,然后使用 createEmoji() 方法创建表情符号。该方法需要两个参数:图像文件的路径(或可读流)和表情符号的名称。向该方法传递的图像文件必须小于 256 KB。

如果表情符号创建成功,createEmoji() 将返回一个 Promise 对象,其解析值为新创建的表情符号对象。在上面的示例中,我们将此表情符号对象的名称打印到控制台上。

结论

现在您已经知道如何在 Discord.js 中从服务器定义和使用表情符号了。记住,您需要在服务器上拥有管理员权限,才能定义和管理表情符号。祝您编写愉快!

参考