怎样在 Debian 11 上运行 Discord.js Bot

介绍

Discord 是一个视频、语音和文本通信平台,允许机器人根据用户命令执行自动化任务。 本文介绍了如何运行 Discord.js 机器人并将其托管在 Vultr 的 Debian 11 云服务器上。

1. 创建一个 Discord 应用程序

前往 Discord 开发者门户 并登录。单击 新应用 按钮。 输入应用程序名称并单击 创建. 选择 机器人 选项卡从 设置 菜单。 点击 添加机器人 然后点击 做吧!. 点击 复制 将您的机器人的令牌复制到剪贴板。 保存副本以在本指南后面使用。

2. 安装先决条件

部署一个 Vultr Debian 11 云服务器实例。 登录为

3. 安装依赖

安装 Node.js,这是 Discord.js 所需的 javascript 运行时。

# apt-get install nodejs -y

安装 Node Version Manager (nvm),用于更新 Node.js。 例如:

# wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

笔记: 请参见 NVM 的 GitHub 存储库 并使用该命令获取最新的 NVM 版本。

重新启动服务器。

# reboot

重新连接到 SSH 会话。

验证 nvm 安装:

# command -v nvm

它应该返回:

nvm

将 Node.js 更新到最新版本:

# nvm install node

4. 创建 Discord 机器人

切换到您的主目录。

# cd ~

创建项目文件夹。

# mkdir discord-bot

切换到项目文件夹。

# cd discord-bot

初始化您的 Node.js 项目。

# npm init

回答问题。 保留默认值,除非您需要更改它们。

检查您的内容 package.json 文件:

# cat package.json

它应该返回如下内容:

 {
   "name": "discord-bot",
   "version": "1.0.0",
   "description": "A Discord.js bot on Debian 11",
   "main": "index.js",
   "scripts": {
     "test": "echo "Error: no test specified" && exit 1"
   },
   "author": "",
   "license": "ISC"
 }

对于本指南,您需要使用 npm 安装 Discord.js 库。 在向机器人添加功能时,请在 网站.

安装 Discord.js 库。

# npm install discord.js --save

--save 标志将库添加为您的依赖项 package.json 文件。

创建一个名为 index.js.

# nano index.js

将此示例代码粘贴到您的 index.js 文件。 代替 <YOUR BOT TOKEN> 使用您在第 1 部分中保存的令牌。

 const { Client, Intents } = require('discord.js');
 const client = new Client({ intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES] });

 client.on('message', message => {
     if (message.content === 'hello') {
         message.channel.send('Hello World~!');
     }
     if (message.content === 'testbot') {
         message.channel.send("Hi! I'm up and Running~!");
     }
     if (message.content === 'ping') {
         message.channel.send('Pong~!');
     } 
 })

 client.once('ready', () => {
     console.log('The Discord Bot is Ready!');
 })

 client.login('<YOUR-BOT-TOKEN>')

Discord bot 应该响应命令 hello, testbot, 和 ping.

保存并退出文件。

4. 运行 Discord Bot

当您退出 SSH 会话时,您的 Discord 机器人停止运行。 要保持机器人全时运行,请使用 多路复用器 或者 PM2.

选项 1:使用 Tmux 运行机器人

按照本指南安装 tmux。

创建一个 tmux 会话。

# tmux new -s DiscordBot

切换到 Discord bot 项目目录。

# cd ~/discord-bot

启动机器人。

# node index.js

它应该返回:

The Discord Bot is Ready!

要停止 Discord Bot,请按 CTRL + C

选项 2:使用 PM2 运行机器人

PM2 是一个守护进程管理器,可帮助您管理和保持应用程序运行。

安装 PM2 进程管理器来管理您的机器人。

# npm install pm2 -g

切换到 Discord bot 项目目录。

# cd ~/discord-bot 

启动机器人。

# pm2 start index.js

验证机器人是否在线。

# pm2 logs

它应该返回:

 0|index    | The Discord Bot is Ready!

要退出日志,请按 CTRL + C

常用 PM2 命令

确保您在 ~/discord-bot 目录,然后使用这些命令来控制您的机器人。

列出所有 PM2 进程:

# pm2 list

停止 Discord 机器人:

# pm2 stop index.js

重新启动 Discord 机器人:

# pm2 restart index.js

5. 邀请机器人加入 Discord 服务器

前往 Discord 开发者门户 并登录。单击您创建的应用程序。 导航到 OAuth2 标签从 设置 菜单。 在里面 范围 部分,选择 机器人. 在里面 机器人权限 部分,选择 行政人员. 这为机器人提供了来自 Discord 服务器的管理员角色。 点击 复制 复制生成的邀请链接的按钮。 在浏览器上打开邀请链接。 选择要添加机器人的 Discord 服务器,然后单击 继续. 授权机器人并完成验证码。

Discord 机器人现已启动并运行。

更多信息

要了解有关 Discord 机器人的更多信息,请参阅以下资源:

Discord 的文档
开发者门户
Discord.js 网站

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com