Discord.js 项目在 Heroku 上的部署指南
1. 项目的目录结构及介绍
discord.js-heroku/
├── .gitignore
├── LICENSE
├── Procfile
├── README.md
├── index.js
├── package.json
- .gitignore: 指定不需要被Git跟踪的文件和目录。
- LICENSE: 项目的开源许可证文件。
- Procfile: Heroku 使用的配置文件,指定启动命令。
- README.md: 项目说明文档。
- index.js: 项目的入口文件。
- package.json: 项目的依赖和脚本配置文件。
2. 项目的启动文件介绍
index.js
index.js
是项目的入口文件,负责启动 Discord 机器人。以下是一个简单的示例:
const Discord = require('discord.js');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
if (msg.content === 'ping') {
msg.reply('Pong!');
}
});
client.login(process.env.DISCORD_TOKEN);
- Discord.js: 引入 Discord.js 库。
- client: 创建一个 Discord 客户端实例。
- client.on('ready'): 当客户端准备好时触发的事件。
- client.on('message'): 当收到消息时触发的事件。
- client.login(): 使用环境变量中的 Discord 令牌登录。
3. 项目的配置文件介绍
package.json
package.json
文件包含了项目的依赖、脚本和其他元数据。以下是一个示例:
{
"name": "discord.js-heroku",
"version": "1.0.0",
"description": "An in-depth guide on deploying your Discord.js bot on Heroku",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"dependencies": {
"discord.js": "^12.5.1"
},
"engines": {
"node": "14.x"
},
"license": "MIT"
}
- name: 项目名称。
- version: 项目版本。
- description: 项目描述。
- main: 入口文件。
- scripts: 定义启动脚本。
- dependencies: 项目依赖。
- engines: 指定 Node.js 版本。
- license: 项目许可证。
Procfile
Procfile
文件用于 Heroku 部署,指定启动命令。内容如下:
worker: npm start
- worker: 指定 Heroku 使用 worker 类型。
- npm start: 执行
package.json
中定义的start
脚本。
通过以上配置,您可以在 Heroku 上成功部署和运行您的 Discord.js 机器人。