# 如何使用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」  ### 2 . 創建機器人 在左上的欄位中點擊Bot,按下「Add Bot」即可創建機器人  ### 3 . 邀請機器人 前往「OAuth2」,在「SCOPES」中點選bot以及applications.commands,在下方選擇Administraor,並通過該連結邀請機器人。  ## 撰寫機器人 首先,必須安裝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。 > 注意:要讓機器人維持在線,需要開著程式執行頁面,未來會教大家如何通過線上託管維持上線!  ## 結論 這篇教學帶著大家建立了一個機器人,並使用官方範例的程式碼編寫了一個簡單的指令。下篇教學將會教大家製作更多指令,讓大家的機器人更加豐富! ###### tags: `Discord.js`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up