📜  discord.js 干净的内容 - Javascript (1)

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

Discord.js - 用 JavaScript 构建干净的内容

Discord.js 是一个用于构建 Discord 机器人和客户端的 JavaScript 库。它是对 Discord API 的封装,使开发者能够使用 JavaScript 更容易与 Discord 进行交互。通过 Discord.js,您可以创建复杂的机器人,包括游戏、音乐、社交媒体集成以及各种其他功能。

安装

要使用 Discord.js,您需要 Node.js 和 npm。安装 Node.js 后,在终端中运行以下命令:

$ npm install discord.js

这将安装 Discord.js 包及其依赖项。现在您可以在 JavaScript 代码中使用它:

const Discord = require('discord.js');
const client = new Discord.Client();
初级用法

要建立与 Discord 的连接,需要创建客户端对象并使用其 login 方法。

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.login('your-bot-token');

要监听消息,需要监听 message 事件。例如,以下代码将回复“pong”对于任何以“ping”开头的消息:

client.on('message', message => {
  if (message.content.startsWith('ping')) {
    message.reply('pong');
  }
});
发送消息

要向频道发送消息,可以使用 TextChannel.send 方法。例如:

const channel = client.channels.cache.get('channel-id');
channel.send('Hello, World!');
内容格式

Discord.js 支持发送具有格式化文本、代码块、嵌入式元素等的消息。 您可以使用 Discord.js 提供的内置消息构建器来使此更易于操作。

以下是使用 Discord.js 消息构建器发送简单嵌入式元素的示例:

const exampleEmbed = new Discord.MessageEmbed()
	.setColor('#0099ff')
	.setTitle('Some title')
	.setURL('https://discord.js.org/')
	.setAuthor('Some name', 'https://i.imgur.com/wSTFkRM.png', 'https://discord.js.org')
	.setDescription('Some description here')
	.setThumbnail('https://i.imgur.com/wSTFkRM.png')
	.addFields(
		{ name: 'Regular field title', value: 'Some value here' },
		{ name: '\u200B', value: '\u200B' },
		{ name: 'Inline field title', value: 'Some value here', inline: true },
		{ name: 'Inline field title', value: 'Some value here', inline: true },
	)
	.addField('Inline field title', 'Some value here', true)
	.setImage('https://i.imgur.com/wSTFkRM.png')
	.setTimestamp()
	.setFooter('Some footer text here', 'https://i.imgur.com/wSTFkRM.png');

channel.send(exampleEmbed);

注意这里的 channel 对象应该是你想要发送消息的文本频道。

结论

在这篇文章中,我们简单介绍了如何使用 Discord.js 建立一个简单的 Discord 机器人,并了解了如何构建具有不同功能的消息。 Discord.js 几乎是开发 Discord 机器人的标准,您可以自由探索其更复杂的功能和 API。