這個系列會帶著您通過Node.js中的Discord.js套件,從0到1開始製作屬於自己的Discord機器人,希望可以幫助大家成為機器人的開發者哦!
時隔六個月,筆者決定繼續來更新這個系列的文章。主要是因為過了這半年多的時間,仍然發現網路上的Discord.js v14教學不多,並且自己的文章也得到越來越多的迴響,決定藉此機會繼續更新,帶給大家更豐富的教學!
除此之外,筆者開始在自己的部落格更新文章囉!
之後的文章將會優先在部落格更新,但仍會於此更新,歡迎多多支持我的Github Pages自架部落格哦~
部落格連結:https://winson-otp.github.io/
此篇文章連結:https://winson-otp.github.io/posts/discord-js-ep-5-3/
今天這篇文章將會帶著大家為Discord.js的機器人製作一個指令: server-info
,用於得知伺服器的相關資訊,讓我們開始實作吧!
在製作server-info
指令前,先來構想一下指令的相關架構:
如上述,使用 server-info
作為指令的名稱,簡短且方便辨識。
在前導文章曾經提到,將使用「查看伺服器的資訊」作為其說明文字。
指令的用途是在使用者使用時,回傳當前伺服器的相關資料和資訊。
那接下來就來確定要加上的資料有哪些吧!
這次的資料內容與上一篇文章的類似,並且有了更多資料。
目前此指令只是一個單純的server-info指令,因此尚無其他功能。
接下來要正式開始製作指令的程式碼囉,將會修改到機器人的主程式 index.js
:
首先,我們先一個一個了解資料該如何取得,並且在後續整理為完整的程式碼。在許多資料的獲取方式中,我們會看到 interaction.guild
這個物件,這個物件會指向指令所使用所處在的伺服器,因此在此將多次使用到這個物件。接下來讓我們來獲取資料吧!
獲取方式如下:
獲得方式如下:
獲得的方式如下:
但是通過這種方式獲得的內容將會是一串數字,也就是時間戳記,難易閱讀,因此需要經過處理:
這樣我們就可以以正常的時間標示格式來檢視伺服器的建立時間囉!
伺服器的簡介獲取方式如下,為了避免該伺服器沒有簡介,我們使用 ??
讓其在簡介不存在時顯示為無
伺服器的擁有者獲取後將會以id方式傳回,因此我們使用 <@
和 >
包裹讓他會顯示為標記的使用者。
伺服器的人數會數字方式傳出,為了讓其成為字串,我們使用 ` 將其包住:
接下來,我們將上述資訊整理為程式碼來運行:
將此檔案存檔後執行:
到Discord就可以使用指令囉!
這樣第五集的所有分支文章就完結囉!
以上就是這篇文章的所有內容囉!也感謝您用心閱讀完畢了這篇文章。之後的文章,由於指令數量愈來愈多,會先以指令各自分檔案的教學為優先,除此之外也會介紹各種大大小小的功能,引導大家更深入Discord.js套件唷!
謝謝您的閱讀,我們下篇文章再見囉!
Node.js
Discord.js