🤖 使用 JS 创建你自己的 Discord 机器人 🤖
介绍
大家好,我这几天一直在开发我的第一个 Discord 机器人,现在终于可以和大家分享如何轻松创建自己的机器人了。
你将建造什么?
在这篇博客中,我将告诉你如何制作一个机器人,当你说“Pong”时,!ping它会回复“Pong”。当然,你也可以根据需要进行任何修改。比如,你说Hey“Hola”,机器人就会回复“Hola”,你明白我的意思了吧。
我用Discord.js构建了这个机器人。是的,你也可以用 Python 和 Discord.py 来构建它。
你可以在这里邀请我的机器人。
先决条件
- 电脑(当然)
- 文本编辑器(本教程中使用 Sublime Text)
- Discord 账号以及拥有管理员权限的 Discord 服务器(您可以创建一个新服务器来测试机器人)。
- 需要一些 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
- 将此编辑后的链接粘贴到浏览器搜索框中,您应该会看到类似下面的内容。
--:-> 您将进入此页面 --:-> 选择服务器 --:-> 点击并(点击“继续”后,下一个窗口将显示“授权”) --:-> 如果您操作正确,应该会看到类似这样的界面

ContinueAuthorize

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

现在就开始编写代码吧。
- 创建一个以你的机器人名称命名的文件夹(或者任何你可能用来存放代码的地方)。
- 用任何文本编辑器打开该文件夹(我将使用 Sublime Text)。
- 现在,在该文件夹中打开命令提示符(Windows 系统)或终端(Linux/Mac 系统),然后输入
npm init -y
同样,你可以移除这个-y标志进行自定义。但为了方便起见,我暂时保留它。运行命令后,你可能会看到类似这样的输出。
- 现在输入命令
git init
- 现在创建 4个文件
index.js,,,config.json.env.gitignore -
现在创建一个文件夹
Commands,并在其中添加pong.js一个command.js文件。现在你的文件/文件夹结构应该类似于这样(只有pong.js和command.js在Commands文件夹中)。
-
现在将代码添加到相应的文件中,作为标题。
在 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);
在 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);
}
});
});
};
在 pong.js 中
module.exports = async function (message) {
message.channel.send('Pong!');
}
在 config.js 中
{
"prefix": "!"
}
在 .gitignore 中
/node_modules/
.env
在 .env 中
- 首先,请登录您创建机器人应用程序的开发者门户。
- 然后前往
Bot并复制令牌,如下图所示。
注意!这是一个密钥,请勿将其添加到 GitHub 或互联网上,也不要告诉任何人。
- 现在将其添加到您的 env 文件中(将 XXXXX 替换为您的密钥,不要添加任何空格或其他内容,直接添加即可)。
BOTTOKEN=XXXXXXXXXX
现在再次打开命令提示符/终端并运行命令
npm install discord.js
-
npm install dotenv
- 好了,现在编码工作已经完成,是时候检查一下了。
- 运行命令
node index.js
- 现在前往你邀请此机器人加入的 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 服务器
