这个系列会带着您通过Node.js中的Discord.js套件,从0到1开始製作属于自己的Discord机器人,希望可以帮助大家成为机器人的开发者哦!
前言
这篇教学将会带着大家製作「设定档」,让我们製作机器人时可以更清晰地设置相关资料,并且提高安全性。
设定档是什么?为什么要製作设定档?
设定档是用于设置机器人的相关资料,例如我们曾经提及非常重要的TOKEN,以及机器人的ID,或是之后若有其他需设置频道或其他资料的内容时,若在设定档设置,会比在繁琐的程式码中设定简易,也较好更改。因为在编写程式遇到问题时若要向他人提供程式码,或是要将程式码公开给他人进行检阅时,若直接提供程式码,当中或许会包含不能提供的内容(例如:TOKEN)。但若将较私密的内容另外设置,只要在提供档案时不要给予设置定档即可。製作设定档的两种方法?
製作设定档常见的方法有两种,一种是使用 JSON
格式的档案,一种是 .env
档案,在此篇文章中我们会使用格式较清楚且较简易的 JSON
档案製作设定档。
前置工作
这篇文章的工作会编写到 index.js
以及 deploy.js
两个使用到TOKEN或id的程式码,并将其id或TOKEN的来源改完从设定档获取。并且需要在机器人目录中创建一个新的档案 setting.json
。
设定档 setting.json
首先,我们先来製作机器人的设定档:
创建一个档案,命名为 setting.json
{ "token": "此处填入token", "id": "此处填入机器人id"}
这个档案中,纪录了token和id两个内容,并且分别有其代表的值。
请将token和id后方的栏位将其值替换为您的机器人的token和机器人id,例如:
{ "token": "brabrabrabrabrabra", "id": "7777777777222222"}
调整资料来源 deploy.js / index.js
接下来,我们到这两个主要的档案来将资料的来源调整为从 setting.json
获取。
汇入JSON资料
const { token, id } = require('./setting.json')
通过这段程式,我们会从 setting.json
中获得两个数值 (token, id) ,并且将其定义为变数。
将这段程式分别放到 deploy.js
和 index.js
的档案内最上方(只要在使用前定义即可,笔者为了方便检视因此建议直接加在第一行)。
修改资料来源
deploy.js
将原先的
const rest = new REST({ version: '10' }).setToken('您原先的token在这里');
修改为
const rest = new REST({ version: '10' }).setToken(token);
此时程式会自动将token这个变数带入到 .setToken()
函数内作为其参数。
并且将
await rest.put(Routes.applicationCommands('您原先将id放在置'), { body: commands });
修改为
await rest.put(Routes.applicationCommands(id), { body: commands });
index.js
将这段
client.login('这里原先是您的token');
修改为
client.login(token);
将两个档案都修改完之后存档,就可以执行看看是否正常运行啰!
笔者的两个档案都正常运行啰!
总结
这篇文章带着各位製作了我们机器人的设定档,让机器人的参数或资料设置能够更清晰、更安全的进行设定,期望这篇文章对各位有帮助!
除此之外,本系列所编写的程式码在Github开源啰:
https://github.com/Winson-OTP/Discord.js-v14-Tutorial
此开源的程式码欢迎使用,并且不需标着作者或来源,如愿意支持本系列也可以标注为:
作者:WinsonOTP网站:https://winson-otp.github.io/开源:https://github.com/Winson-OTP/Discord.js-v14-Tutorial
下篇文章将会继续带给各位更丰富的教学,请各位拭目以待唷!