发布于 2026-01-06 4 阅读
0

🤖 使用 JS 创建你自己的 Discord 机器人 🤖

🤖 使用 JS 创建你自己的 Discord 机器人 🤖

介绍

大家好,我这几天一直在开发我的第一个 Discord 机器人,现在终于可以和大家分享如何轻松创建自己的机器人了。

你将建造什么?

在这篇博客中,我将告诉你如何制作一个机器人,当你说“Pong”时,!ping它会回复“Pong”。当然,你也可以根据需要进行任何修改。比如,你说Hey“Hola”,机器人就会回复“Hola”,你明白我的意思了吧。

我用Discord.js构建了这个机器人。是的,你也可以用 Python 和 Discord.py 来构建它。

你可以在这里邀请我的机器人。

先决条件

  1. 电脑(当然)
  2. 文本编辑器(本教程中使用 Sublime Text)
  3. Discord 账号以及拥有管理员权限的 Discord 服务器(您可以创建一个新服务器来测试机器人)。
  4. 需要一些 Node.js 和 Express 的知识。如果没有,请参考这篇文章。

我们开始吧

在进行任何操作之前,请确保您的 Discord 帐户已启用开发者模式。本教程暂时用不到,但您最终会用到,所以不妨现在就启用它 :)

为此,请前往Setting > Advanced > Developer Mode: ON您的 Discord 帐户

设置应用程序并创建机器人帐户

  • 好的,现在您需要访问https://discord.com/developers/applications/网站。
  • 使用你的 Discord 账号登录后,你应该会看到类似这样的界面。(忽略我之前的申请,你可能会发现这里是空白的,这没关系。)
  • 现在点击New Application按钮。
  • 现在给你的应用程序命名(之后可以更改)。我已经命名Tutorial-Bot并点击了。Create
  • 现在您已进入应用控制面板。您可以添加描述、图片等元素,美化您的应用,并探索其他选项。
  • 现在您已成功创建应用程序帐户,接下来需要创建机器人实例。请前往Bot并点击Add Bot
  • 之后您会看到一条提示信息。点击Yes, do it
  • 太棒了!现在您应该能看到类似下面的内容。(您可以在继续操作之前根据需要自定义图片和描述。)
  • 现在前往OAuth2该部分并复制Application Id
  • 现在我们将生成机器人邀请链接。有很多方法可以做到这一点。我将告诉你最简单的方法。只需将你复制到以下链接中的<app-id>内容替换为:application id

注意!这将赋予管理员对机器人的访问权限。

https://discord.com/api/oauth2/authorize?client_id=<app-id>&permissions=8&scope=bot
Enter fullscreen mode Exit fullscreen mode
  • 将此编辑后的链接粘贴到浏览器搜索框中,您应该会看到类似下面的内容。

--:-> 您将进入此页面 --:-> 选择服务器 --:-> 点击(点击“继续”后,下一个窗口将显示“授权”) --:-> 如果您操作正确,应该会看到类似这样的界面



ContinueAuthorize


  • 现在你可以在 Discord 界面的右侧(显示所有参与者的地方)看到你的机器人。

现在就开始编写代码吧。

  • 创建一个以你的机器人名称命名的文件夹(或者任何你可能用来存放代码的地方)。
  • 用任何文本编辑器打开该文件夹(我将使用 Sublime Text)。
  • 现在,在该文件夹中打开命令提示符(Windows 系统)或终端(Linux/Mac 系统),然后输入
npm init -y
Enter fullscreen mode Exit fullscreen mode

同样,你可以移除这个-y标志进行自定义。但为了方便起见,我暂时保留它。运行命令后,你可能会看到类似这样的输出。

  • 现在输入命令
git init
Enter fullscreen mode Exit fullscreen mode

你应该会看到类似这样的内容。

  • 现在创建 4文件index.js,,,config.json.env.gitignore
  • 现在创建一个文件夹Commands,并在其中添加pong.js一个command.js文件。现在你的文件/文件夹结构应该类似于这样(只有pong.jscommand.jsCommands文件夹中)。

  • 现在将代码添加到相应的文件中,作为标题。

    在 index.js 中:-

    添加以下代码

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

const command = require('./Commands/command.js');
const pong = require('./Commands/pong.js');

console.log('Yay your bot is live');

client.on('ready', () => {
    console.log(`Bot is currently running on version v${require('./package.json').version}`);

    command(client,'ping', message => {
        pong(message);
    });
});

client.login(process.env.BOTTOKEN);
Enter fullscreen mode Exit fullscreen mode

在 command.js 中

const {prefix} = require('../config.json');

module.exports = (client, aliases, callback) => {

    if(typeof aliases === 'string'){
        aliases = [aliases];
    }

    client.on('message', message => {
        const {content} = message;

        aliases.forEach(alias => {
            const command = `${prefix}${alias}`

            if(content.startsWith(`${command}`) || content === command){
                console.log(`Running the command ${command}`)
                callback(message);
            }
        });
    });
};
Enter fullscreen mode Exit fullscreen mode

在 pong.js 中

module.exports = async function (message) {
    message.channel.send('Pong!');
}
Enter fullscreen mode Exit fullscreen mode

在 config.js 中

{
    "prefix": "!"
}

Enter fullscreen mode Exit fullscreen mode

在 .gitignore 中

/node_modules/
.env
Enter fullscreen mode Exit fullscreen mode

在 .env 中

  • 首先,请登录您创建机器人应用程序的开发者门户。
  • 然后前往Bot并复制令牌,如下图所示。

注意!这是一个密钥,请勿将其添加到 GitHub 或互联网上,也不要告诉任何人。

  • 现在将其添加到您的 env 文件中(将 XXXXX 替换为您的密钥,不要添加任何空格或其他内容,直接添加即可)。
BOTTOKEN=XXXXXXXXXX
Enter fullscreen mode Exit fullscreen mode

现在再次打开命令提示符/终端并运行命令

npm install discord.js
Enter fullscreen mode Exit fullscreen mode

-

npm install dotenv
Enter fullscreen mode Exit fullscreen mode
  • 好了,现在编码工作已经完成,是时候检查一下了。
  • 运行命令
node index.js
Enter fullscreen mode Exit fullscreen mode
  • 现在前往你邀请此机器人加入的 Discord 服务器,并发送命令,!ping你应该会收到类似如下的 pong 回复。

但我们做了什么?

我会尽量用最简单的方式解释。我们创建了index.js应用程序/机器人的入口点。然后我们使用身份验证对其进行了验证client.login('process.env.BOTTOKEN'),并检查了您的应用程序是否在线。

我们的机器人会在服务器在线时监控服务器上发布的每一条消息,并检查发布的消息是否为有效命令,command.js如果是,则运行pong.js文件中存在的操作。

接下来呢?如果你按照步骤操作,那么你已经创建了一个具有一定可扩展性的机器人架构。现在,每次需要添加命令时,你只需要创建一个包含命令的文件,将其导入到index.js指定位置,并写入你希望它触发的关键词即可。就这么简单。

好了,现在我们已经设置好了项目,你可以用 Discord 机器人做更多的事情。请查看下面的参考资料,以增加机器人的命令和功能。

如果你想让我告诉你如何免费托管你的机器人,请在下面的评论中告诉我。

参考:

Discord JS 文档
编码列车 YouTube 频道
我的 Discord 机器人

❤️感谢阅读❤️

🌏 点赞 | 关注 | 分享 🌏
我的社交媒体: Twitter | LinkedIn | GitHub | Discord 服务器

文章来源:https://dev.to/kaiwalyakoparkar/creating-your-own-discord-bot-using-js-2ep0