![图片[1] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-5kh68_.jpg)
Discord有一个用于编写自定义机器人的优秀 API,以及一个非常活跃的机器人社区。今天我们来看看如何开始制作自己的。
你需要一些编程知识来编写一个机器人,所以它并不适合所有人,但幸运的是,有一些流行语言的模块使它很容易做到。我们将使用最流行的discord.js。
相关: 如何创建、设置和管理您的 Discord 服务器
入门
前往 Discord 的机器人门户,并创建一个新应用程序。
![图片[2] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-jqct5_.jpg)
您需要记下客户端 ID 和密码(当然,您应该保密)。然而,这不是机器人,只是“应用程序”。您必须在“机器人”选项卡下添加机器人。
![图片[3] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-adw6p_.jpg)
记下这个令牌,并保守秘密。在任何情况下都不要将此密钥提交给 Github。您的机器人几乎会立即被黑客入侵。
安装 Node.js 并获取编码
要在网页之外运行 Javascript 代码,您需要Node。下载它,安装它,并确保它在终端(或命令提示符,因为所有这些都应该在 Windows 系统上工作)中工作。默认命令是“节点”。
我们还建议安装 nodemon 工具。这是一个命令行应用程序,可监控您的机器人代码并在更改时自动重新启动。您可以通过运行以下命令来安装它:
npm i -g nodemon
你需要一个文本编辑器。您可以只使用记事本,但我们推荐使用Atom或VSC。
这是我们的“Hello World”:
![图片[4] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-qfc6k_.jpg)
const Discord = require(‘discord.js’);
const client = new Discord.Client();
client.on(‘准备好了’, () => {
console.log(`以 ${client.user.tag} 身份登录!`);
});
client.on(‘消息’, msg => {
if (msg.content === ‘ping’) {
msg.reply(‘pong’);
}
});
client.login(‘token’);
此代码取自discord.js示例。让我们分解一下。
- 前两行是配置客户端。第一行将模块导入一个名为“Discord”的对象,第二行初始化客户端对象。
- 该块将在机器人启动时触发。在这里,它只是配置为将其名称记录到终端。
- client.on(‘ready’)
- 每次向任何频道发布新消息时,都会触发该块。当然,您需要检查消息内容,这就是该块的作用。如果消息只是说“ping”,那么它会回复“Pong!”
- client.on(‘message’)
- if
- 最后一行使用来自机器人门户的令牌登录。很明显,这里截图中的token是假的。永远不要在互联网上发布您的令牌。
复制此代码,将您的令牌粘贴到底部,并将其另存为 专用文件夹。
index.js
如何运行机器人
![图片[5] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-h6osz_.jpg)
转到您的终端,然后运行以下命令:
nodemon –检查 index.js
这将启动脚本,并启动 Chrome 调试器,您可以通过 在 Chrome 的 Omnibar 中键入内容然后打开“Node 专用开发工具”来访问它。
chrome://inspect/
现在,它应该只是说“以
身份登录”,但在这里我添加了一行,它将记录收到的所有消息对象到控制台:
![图片[6] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-p2v0n_.jpg)
那么这个消息对象是由什么组成的呢?很多东西,其实:
![图片[7] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-pmz5b_.jpg)
最值得注意的是,您拥有作者信息和频道信息,您可以通过 msg.author 和 msg.channel 访问它们。我推荐这种将对象记录到 Chrome 节点开发工具的方法,然后四处看看是什么使它起作用。你可能会发现一些有趣的东西。例如,在这里,机器人将其回复记录到控制台,因此机器人的回复会触发。所以,我做了一个垃圾邮件机器人:
client.on(‘message’)
![图片[8] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-whv9p_.jpg)
注意:请注意这一点,因为您真的不想处理递归。
如何将机器人添加到您的服务器
![图片[9] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-fdzen_.jpg)
这部分比它应该的更难。你必须采取这个网址:
并将 CLIENTID 替换为您的机器人的客户端 ID,可在应用程序页面的一般信息选项卡上找到。完成此操作后,您可以将链接提供给您的朋友,让他们也将机器人添加到他们的服务器。
好吧,那我还能做什么?
![图片[10] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-w7f0e_.jpg)
除了基本设置之外,其他任何事情都完全取决于您。但是,如果我们停在 hello world,这将不是一个教程,所以让我们回顾一些文档,这样您就可以更好地了解什么是可能的。我建议您尽可能多地通读,因为它有很好的文档记录。
我建议添加到代码的开头,并在控制台中查看客户端对象:
console.log(client)
![图片[11] - 转个技术帖学习搭建Discord~如何制作自己的 Discord 机器人 - 没前途的万事屋 - 没前途的万事屋](https://www.meiqiantu.com/wp-content/uploads/2023/05/20230523-sqxl2_.jpg)
从这里,你可以学到很多东西。由于您可以一次将机器人添加到多个服务器,因此服务器是 地图对象的一部分。在该对象中是各个公会 (这是 API 的“服务器”名称),这些公会对象具有包含所有信息和消息列表的频道列表。API 很深,可能需要一段时间来学习,但至少它很容易设置和开始学习。
本文转自网易:阅读原文
文是楼上发的,吐槽君只是住在万事屋而已。
有些是原创,有些图文皆转载,如有侵权,请联系告知,必删。
如果不爽,请怼作者,吐槽君和你们是一伙的!请勿伤及无辜...
暂无评论内容