---
# System prepended metadata

title: 如何使用Discord.js v13，建立一個Discord機器人 (Ep.1)
tags: [Discord.js]

---

# 如何使用Discord.js v13，建立一個Discord機器人 (Ep.1)
經常看到實用的機器人嗎？想要擁有屬於自己的機器人嗎？這篇文章會帶著您製作Discord.js v13的機器人！

## 前言
在撰寫機器人前，我們首先要了解Discord.js是什麼：
> Discord.js是一個JavaScrpt的套件，可以讓您通過JS來製作一個機器人

而JavaScript是一種進階的、直譯的程式語言，建議在製作機器人前先學習基本的JavaScript。

可以參考下列網路上的教學
> 教學影片：https://www.youtube.com/watch?v=yZwlW5INhgk&vl=zh-Hant
> 教學文章：https://developer.mozilla.org/zh-TW/docs/Learn/Getting_started_with_the_web/JavaScript_basics

雖然網路上有許多Discord.js的教學，但只要是中文的教學，幾乎皆為舊版(Discord.js v12)的教學。由於這次更新修改了許多編寫方式，若使用v13來編寫，會產生錯誤。

## 創建機器人
要創建一個機器人，要先到Discord Developers創建：
> Discord Developers：https://discord.com/developers/applications

### 1 . 建立機器人
點按「New Application」，輸入完機器人的名稱後按下「Create」
![](https://i.imgur.com/kfoDEWy.png)
### 2 . 創建機器人
在左上的欄位中點擊Bot，按下「Add Bot」即可創建機器人
![](https://i.imgur.com/tiQfnfr.png)
### 3 . 邀請機器人
前往「OAuth2」，在「SCOPES」中點選bot以及applications.commands，在下方選擇Administraor，並通過該連結邀請機器人。
![](https://i.imgur.com/CSOc1Gc.png)

## 撰寫機器人
首先，必須安裝Node.js的v16版本(注意：一定要使用v16版本)
Node.js下載網址：https://nodejs.org/en/
### 1 . 在電腦中安裝Discord.js套件和其他需要的套件 
在終端機輸入下方指令
```javascript=
npm install discord.js @discordjs/rest discord-api-types
```
### 2 . 建立一個command.js檔案
建立一個檔案名為command.js，用於註冊斜線指令：
```javascript=
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-types/v9');

const commands = [{
  name: 'ping',
  description: 'Replies with Pong!'
}]; 

const rest = new REST({ version: '9' }).setToken('在這裡輸入機器人token');
//記得替換TOKEN

(async () => {
  try {
    console.log('Started refreshing application (/) commands.');

    await rest.put(
      Routes.applicationCommands('在這裡輸入ClientID'),
      //記得替換ClientID
      { body: commands },
    );

    console.log('Successfully reloaded application (/) commands.');
  } catch (error) {
    console.error(error);
  }
})();
```
記得替換程式碼中的token以及ClientID，並執行這個檔案。
在終端機會看到
```javascript=
Started refreshing application (/) commands.
Successfully reloaded application (/) commands.
```
代表成功註冊指令！

### 3 . 建立一個bot.js檔案
建立一個名為bot.js的檔案，用於登入機器人並讓他上線！
```javascript=
const { Client, Intents } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });

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

client.on('interactionCreate', async interaction => {
  if (!interaction.isCommand()) return;

  if (interaction.commandName === 'ping') {
    await interaction.reply('Pong!');
  }
});
//記得替換TOKEN
client.login('在這裡輸入你的機器人token');
```
建立檔案並複製程式碼後，記得在其中貼上你的機器人TOKEN，並執行這個檔案。
若出現下列文字：
```javascript=
Logged in as (你的機器人名稱)!
```
代表成功讓機器人上線！
### 4 . 測試
到剛剛邀請機器人的伺服器，輸入斜線 (/)，應會看到指令列表，並輸入/ping。
> 注意：要讓機器人維持在線，需要開著程式執行頁面，未來會教大家如何通過線上託管維持上線！

![](https://i.imgur.com/I4ofY7g.png)

## 結論
這篇教學帶著大家建立了一個機器人，並使用官方範例的程式碼編寫了一個簡單的指令。下篇教學將會教大家製作更多指令，讓大家的機器人更加豐富！

###### tags: `Discord.js`