今天,我想先講講寫出這個標題的因素,以及我接下來 30 天想分階段寫些什麼。
因為 Discord.js 的流行及其活躍的社群,使得 JavaScript (Node.js) 成為最適合製作 Discord Bot 的語言。
而選擇 JavaScript 的超集 TypeScript 是因為它已經成為建構大型專案的事實標準。我們想要建構一個具高複用性、擴展性的框架,TypeScript 更為安全的語言特性是更優的。
我的目標部署環境是完整的 Docker Container,因此會先花兩三天談談建立開發及部署環境等等。
我想要寫一個新的基於 Discord.js 的框架。
Discord.js 很棒,它對於整個 Discord REST API 做了完整的封裝、具有良好的內建快取,開發者可以很容易的使用它來製作 Discord Bot。
但是,對於具固定模式的連續交互,我認為 Discord.js 並沒有良好的抽象。而且因為 Discord Bot 是屬於比較終端的產品,所以 Discord.js 在程式碼複用性上也不是很好。(大家都做自己 Bot 能動的程式碼就好 XD)
所以我希望能做一個以 guild 為單位的模組化框架,整合 i18n 並設計一個關注在連續交互流程上的模型。
在許多功能上,Discord Bot 都需要儲存額外的資料來提供服務,資料庫的整合是必要的。
在這方面,我想實作多種 Adapter,優先完成的應該會是 Prisma Adapter。
最後的部分,當然就是為框架寫一些模組了!
目前想到的模組有以下這些,大致會由上往下實作,看能完成幾個~
Logger
Status
Welcome Message
Manpage
DNS Query
Private Channel
Word Guard
Simple Shell
Code Snippet Runner
Music Player
URL Shortener
RPG Game
今天就先這樣囉,各位明天見!
以開賽時間 ~ 2022/09/17 01:00 文章觀看數增加值排名
誤差: 1 小時
+2989
[Day 1] 軟體領域的職涯規劃
+2139
從異世界歸來的第一天 - Kubernetes 啟航
+1780
Day01 - 為什麼要裝 Node.js?
+1333
[Day 1] 工具從來不是問題,知識才是力量 ! Scrum 該懂的二三事 !
+1301
[DAY-01] - Julia 介紹與引言大綱
+1264
從異世界歸來的第二天 - Kubernetes 是什麼?
+1112
Day1 方向,資安治理的第一課
+1097
[DAY-02] - Julia安裝與比較
+1094
從異世界歸來的第三天 - Kubernetes 的組件
+1092
[DAY-03] - Julia 互動模式介紹與你好世界
過了一年,又到了排行榜的時間!找不到去年的爬蟲,所以只能用 TypeScript 重構一個了。
看起來 K8S 很熱門呢~ 也許最後有多的時間可以研究看看把 Discord Bot 用 K8S 部署。