如何使用JavaScript建立一个Discord机器人

1,235 阅读4分钟

如何使用JavaScript构建一个Discord机器人

Discord是一个强大的通信应用,被大量的游戏玩家、开发者和加密货币爱好者所使用。

管理员可以在他们的服务器上添加独特的Discord机器人。对于那些喜欢自己动手的人,也有强大的API用于创建Discord机器人。例如,Discord.js允许我们使用 Javascript 创建一个简单的 Discord 机器人。

在本教程中,我们将讨论如何创建一个 Discord 机器人并在服务器上运行它。

要求

要跟上,读者需要。

  • 一个Wi-Fi连接。
  • 一个 Discord 帐户。
  • 一个代码编辑器,如Visual Studio Code。
  • Node v17.1.0

添加一个新的Discord应用程序

要开始,我们需要通过Discord开发者门户注册应用程序。要访问这个门户,请导航到discord.com/developers/…

然后点击右侧的New Application 按钮。

new application

点击该按钮后,将弹出一个对话框,要求你为你的机器人命名。在我的例子中,我将把机器人简单地命名为 "mybot"。

Dialog

接下来,点击bot option ,然后点击add bot 按钮。将会弹出以下对话框。

Confirmation

然后确认创建新的应用程序,就这样,你就有了一个机器人。

然而,我不认为你想要一个假的机器人。让我们通过赋予它一些权限来增加一些额外的功能,这将提高它与用户的互动性。

点击OAuth2 菜单,勾选boxes ,如下图所示。然后,复制出现在文本框中的链接。

bot

permission

接下来,将你之前复制的链接粘贴到任何浏览器中。你应该看到以下屏幕。

paste-link

选择你的服务器,然后点击authorize 按钮。

authorize

如果你没有服务器,请按照这个链接来创建一个。

创建一个Node.js项目

由于我们已经注册了我们的机器人,我们现在需要创建一个文件夹来存储我们的Node.js文件。

安装依赖项

依赖项是应用程序工作所需的包。在我们的案例中,我们只需要discord.js 库。然而,我们将安装dotenv 包以协助管理mybot token

这将确保所有的调用都得到适当的授权。我们还需要nodemon ,以保持服务器的运行。启动一个new terminal ,并输入以下命令来初始化该项目。

npm init -y

注意上面的命令是如何生成一个npm项目的,而不需要经过交互过程。

在我的例子中,以下是结果。

{
  "name": "mybot",
  "version": "1.0.0",
  "description": "",
  "main": "bot.js",
  "scripts": {
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

下面的命令将在项目中安装discord.jsdotenv 库。

npm install discord.js dotenv

要安装nodemon 库,使用以下命令。

npm install -D nodemon

每次我们对文件进行修改时,Nodemon都会重新启动服务器。

建立我们的机器人

我们需要在开发者门户中授权来自Discord.js 的调用。要做到这一点,我们必须复制我们机器人的令牌。

copy-token

复制后,打开一个新的文件,命名为.env ,然后按以下格式粘贴。

TOKEN=Paste_token_here

创建机器人文件

在主项目目录下创建一个新文件,并将其命名为bot.js 。我们将使用dotenv 包设置环境变量,从discord.js ,导入类,然后启动一个新的客户端。

require("dotenv").config(); //to start process from .env file
const {Client, Intents}=require("discord.js");
const client=new Client({
    Intents:[
        Intents.FLAGS.GUILDS,//adds server functionality
        Intents.FLAGS.GUILD_MESSAGES //gets messages from our bot.
    ]
});
client.once("ready", () =>{
    console.log("BOT IS ONLINE"); //message when bot is online
})
client.login(process.env.TOKEN);

要运行机器人,请在你的终端输入以下内容。

node bot.js

bot-online

如上所示,我们的机器人已经上线,但它没有任何功能。

请注意,我们正在从我们的.env 文件中验证named variable ,该文件连接到Discord API 。为了测试机器人,我们必须登录到一个Discord账户,并有一个服务器在运行。

回复信息

到目前为止,我们的机器人是在线的,但没有活跃的功能。下面几行代码将让我们的机器人回复一条简单的你好信息。

client.on('message',
function (messages){
    if(messages.content.toLocaleLowerCase()==='hello') 
    messages.channel.send('hello' + ' '  + messages.author.username); //reply hello word message with senders name
})

我们的机器人将回复hello 信息,并提到sender

reply-message

总结

我们通过[Discord 开发者门户]添加了一个新的 Discord 应用程序。

为了开发我们的机器人,我们创建了一个Node.js项目并安装了所需的依赖项。然后我们允许机器人回复用户的某些信息。

结论

Discord平台正在迅速发展。它为游戏玩家、企业家和热衷于加密货币的人创造了一种安全的沟通方式,并与其他志同道合的人联系。

拥有一个好的机器人,可以回复、禁止和静音成员,是一个额外的优势。在这篇文章中,我们介绍了如何创建一个机器人来回复某些文字。因此,你可以利用这些知识来纳入其他功能。