iT邦幫忙

2022 iThome 鐵人賽

DAY 1
5

Day 1 所以我到底要做些什麼呢?

今天,我想先講講寫出這個標題的因素,以及我接下來 30 天想分階段寫些什麼。

Discord Bot with TypeScript

因為 Discord.js 的流行及其活躍的社群,使得 JavaScript (Node.js) 成為最適合製作 Discord Bot 的語言。

而選擇 JavaScript 的超集 TypeScript 是因為它已經成為建構大型專案的事實標準。我們想要建構一個具高複用性、擴展性的框架,TypeScript 更為安全的語言特性是更優的。

Chapter 0: Environment

我的目標部署環境是完整的 Docker Container,因此會先花兩三天談談建立開發及部署環境等等。

Chapter 1: Framework

我想要寫一個新的基於 Discord.js 的框架。

Discord.js 很棒,它對於整個 Discord REST API 做了完整的封裝、具有良好的內建快取,開發者可以很容易的使用它來製作 Discord Bot。

但是,對於具固定模式的連續交互,我認為 Discord.js 並沒有良好的抽象。而且因為 Discord Bot 是屬於比較終端的產品,所以 Discord.js 在程式碼複用性上也不是很好。(大家都做自己 Bot 能動的程式碼就好 XD)

所以我希望能做一個以 guild 為單位的模組化框架,整合 i18n 並設計一個關注在連續交互流程上的模型。

Chapter 2: Database

在許多功能上,Discord Bot 都需要儲存額外的資料來提供服務,資料庫的整合是必要的。

在這方面,我想實作多種 Adapter,優先完成的應該會是 Prisma Adapter。

Chapter 3: Modules

最後的部分,當然就是為框架寫一些模組了!

目前想到的模組有以下這些,大致會由上往下實作,看能完成幾個~

  • Logger
  • Status
  • Welcome Message
  • Manpage
  • DNS Query
  • Private Channel
  • Word Guard
  • Simple Shell
  • Code Snippet Runner
  • Music Player
  • URL Shortener
  • RPG Game

今天就先這樣囉,各位明天見!


每日鐵人賽熱門 Top 10 (2022-09-17)

以開賽時間 ~ 2022/09/17 01:00 文章觀看數增加值排名

誤差: 1 小時

  1. +2989 [Day 1] 軟體領域的職涯規劃
    • 作者: lazypro
    • 系列:軟體架構師的自我修養
  2. +2139 從異世界歸來的第一天 - Kubernetes 啟航
    • 作者: mikehsu0618
    • 系列:從異世界歸來發現只剩自己不會 Kubernetes
  3. +1780 Day01 - 為什麼要裝 Node.js?
    • 作者: rocketpencil
    • 系列:因為拖延症而沒有好好準備有系統性文章架構的我只能靠一天一筆記來贖罪
  4. +1333 [Day 1] 工具從來不是問題,知識才是力量 ! Scrum 該懂的二三事 !
    • 作者: Darwin Watterson
    • 系列:工具從來不是問題,知識才是力量 ! Microsoft 365 照樣玩 Scrum !
  5. +1301 [DAY-01] - Julia 介紹與引言大綱
    • 作者: William
    • 系列:從 0 開始學習Julia
  6. +1264 從異世界歸來的第二天 - Kubernetes 是什麼?
    • 作者: mikehsu0618
    • 系列:從異世界歸來發現只剩自己不會 Kubernetes
  7. +1112 Day1 方向,資安治理的第一課
    • 作者: 黑修斯
    • 系列:可以狼狽,也可以優雅:從資安治理到資安應變的修養之道
  8. +1097 [DAY-02] - Julia安裝與比較
    • 作者: William
    • 系列:從 0 開始學習Julia
  9. +1094 從異世界歸來的第三天 - Kubernetes 的組件
    • 作者: mikehsu0618
    • 系列:從異世界歸來發現只剩自己不會 Kubernetes
  10. +1092 [DAY-03] - Julia 互動模式介紹與你好世界
    • 作者: William
    • 系列:從 0 開始學習Julia

過了一年,又到了排行榜的時間!找不到去年的爬蟲,所以只能用 TypeScript 重構一個了。
看起來 K8S 很熱門呢~ 也許最後有多的時間可以研究看看把 Discord Bot 用 K8S 部署。


下一篇
Day 2 開發環境的準備
系列文
Discord Bot with TypeScript: Framework, Database, and Modules30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言