📅  最后修改于: 2023-12-03 15:37:11.787000             🧑  作者: Mango
discord.js 是一个使用 Javascript 编写的 Discord 机器人 API,可以通过它与 Discord 服务器进行通信。然而,它近期已经 宣布退役,不再会有新的更新和支持。对于需要与 Discord 交互的程序员来说,我们需要寻求替代方案。
discordeno 是 Discord.js 的后继者,基于 Deno,具有相同优雅的 API,但是可扩展性更好、依赖更少,功能更新速度也更快。discordeno 目前在社区中受到了广泛关注和使用。
示例代码:
import { createBot } from "discordeno";
createBot({
token: "BOT_TOKEN_HERE",
intents: ["GUILDS", "GUILD_MESSAGES"],
messageNew: (message) => {
if (message.content === "!ping") {
message.reply("pong!");
}
},
});
Eris 是一个轻量级且高效的 Discord API 库,也是基于 Javascript,提供了相对较少和简单的依赖和 API 调用。虽然不如 Discord.js 具有广泛的社区支持和插件,但是对于简单应用需求的开发者,Eris 是一个更好的选择。
示例代码:
const Eris = require("eris");
const bot = new Eris("BOT_TOKEN_HERE");
bot.on("ready", () => {
console.log("Ready!");
});
bot.on("messageCreate", (msg) => {
if (msg.content === "!ping") {
bot.createMessage(msg.channel.id, "pong!");
}
});
bot.connect();
如果您的项目只需要与 Discord 进行部分交互,例如发送消息、管理频道等简单操作,那么 Discord.js-light 可能是您的最佳选择。它只需使用 Discord API 的 RESTful 部分,没有任何 Websocket 依赖,因此它比其他替代品更加轻量和快速。
示例代码:
const { Client } = require("discord.js-light");
const client = new Client({
cacheGuilds: true,
cacheChannels: true,
cacheOverwrites: false,
cacheRoles: true,
cacheEmojis: false,
cachePresences: false,
});
client.on("ready", () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on("message", (msg) => {
if (msg.content === "!ping") {
msg.channel.send("Pong!");
}
});
client.login("BOT_TOKEN_HERE");
虽然 Discord.js 是一个非常受欢迎的 Discord API 库,但是它已经被宣布退役,并且不再有新的更新和支持。作为一个程序员,我们需要在 Discord.js 的基础上寻找合适的替代方案。以上提供了三个可选方案,可以根据具体的需求选择适合的解决方案。