📢 前言

最近我成功制作了自己的 Discord Bot,实测已经在我的服务器上投入使用。
如果你也想尝试,可以加入我的 Discord 服务器:
👉 https://discord.gg/4ZPfXHQ7rv


✅ 准备工作

  • Node.js 环境
  • 创建一个新的 Discord 应用:点击这里创建
  • 本地安装 discord.js 等依赖:
1
npm install discord.js dotenv

🛠️ 项目目录结构示例

1
2
3
4
5
my-discord-bot/
├── main.js
├── .env
├── products.json
└── package.json

📄 关键配置(.env 文件)

1
DISCORD_TOKEN=你的Bot Token

📜 配置教程

基本配置

想要制作一个discord bot基本设置非常重要:
image-20250714181429135
就是App Icon, Name, Description和Tags。实际上简单配置一下就行了

image-20250714181751465

导航栏的Bot选项可以配置Icon和Banner,Username也要配置。

Token配置(.env内容)

在bot这里点击Reset Token就可以创建一个Token:
bot-token选项

但是要注意,这个code只会出现一次。要好好的保存!

邀请Bot到自己的服务器

往下滑,在第一个选项选择bot选项。

image-20250714182323863

往下滑在Bot Permission这里直接选择Administrator就行了(新手可以盲目选择):
image-20250714182547591

然后在最下方选择User Install然后复制链接然后在浏览器打开就行了!
image-20250714182700978


🖥️ 核心代码片段展示

创建客户端与基础配置

1
2
3
4
5
6
7
8
9
10
11
12
require('dotenv').config();
const { Client, GatewayIntentBits } = require('discord.js');

const client = new Client({
intents: [GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages],
});

client.once('ready', () => {
console.log(`Logged in as ${client.user.tag}`);
});

client.login(process.env.DISCORD_TOKEN);

添加 Slash 命令注册

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const { SlashCommandBuilder } = require('discord.js');

async function registerSlashCommand(client) {
const sayCommand = new SlashCommandBuilder()
.setName('say')
.setDescription('Repeats your message')
.addStringOption(option =>
option.setName('message')
.setDescription('The message to repeat')
.setRequired(true)
)
.toJSON();

await client.application.commands.set([sayCommand]);
}

自动 Slowmode 逻辑片段

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function getSlowmodeForActivity(messagesPerMinute) {
const rules = [
{ messagesPerMinute: 0, slowmode: 0 },
{ messagesPerMinute: 30, slowmode: 1 },
{ messagesPerMinute: 70, slowmode: 4 }
];

for (let i = rules.length - 1; i >= 0; i--) {
if (messagesPerMinute >= rules[i].messagesPerMinute) {
return rules[i].slowmode;
}
}
return rules[0].slowmode;
}

⚙️ 本地运行

在测试阶段你可能想要使用

1
npm start

来运行。 但是如果你想要让你的智能机器人以24/7的方式运行的话,请参考以下教程:


🖥️ 部署Bot

介绍

部署Bot一定不要用其它付费的网站只要认准Silly Dev,我现在还在用的部署网站,超级良心!
示例

挂机3分钟就可以获得3 credits。

动手

  1. 首先我们先创建一个账号:
    image-20250713155934432
  2. 我们这里点击侧边栏的Store按钮:(小推车)
    image-20250713155949096
  3. 点击Create a new server
    image-20250713160140606
  4. 这里看到Basic Server Details,填写你的服务器名称和介绍:
    image-20250713160208759
  5. 这两个都留默认的就行了image-20250713160225813
  6. Location选择可以选的,其它的跟我一样(如果你用python来编写的话Server Software要选择Python)
    image-20250713160240233
  7. 这里把这5个文件移到一个zip文件夹(product.json没有也没有关系,这是我自己的文件)。注意.env文件也需要
    image-20250713160254959
  8. 删除package-lock.json到时候会自动生成
    image-20250713165406232
  9. File Manager这里点击upload,并选择我们刚刚打包好的zip文件夹:
    yeah
    updated
  10. 选中zip文件并右键选择unarchive
    unarchive
  11. 删除zip文件夹
    del zip
  12. 这里点击导航栏的startup设置
    startup
    然后配置JS file,Additional Node packages和Install Branch
    JS File就是你的主文件,如果你的主文件是index.js就填index.js。我这里是bot.js:
    image-20250713170803584
    Additional Node packages和Install Branch 就跟我填一样的就行了。
  13. 这里回到Console
    startup
    然后点击Start来查看有什么报错。
    image-20250713171051667
    这里没有报错就算好了。
    一般都不会有报错,只要不是代码有问题。所以建议大家现在本地运行

💡 结语

这一篇博客主要是注重在部署的教程上,想要更详细的bot教程的话请在评论区地下评论。
如果遇到问题或者想要交流更多 Bot 相关开发技巧,欢迎随时到下方评论区来交流!