[Day 31] 回顧與心得
終於寫完了!
Roadmap
回顧
這個系列文章大致上可以分成四個階段:
第一階段:入門篇 (02 ~ 04)
這個階段主要是讓大家可以迅速地建立出一個基本的 Discord BOT。
第二階段:功能篇 (05 ~ 18)
接著,開始介紹如何去做出 Discord BOT 的各種功能。由於功能很多,寫法也不只一種,所以這邊我選擇用「觸發條件」和「執行內容」做分類,並且比較了 bot 指令框架與基本的 client 寫法之間的相同與相異之處。
第三階段:進階篇 (19 ~ 26)
當功能完善之後,就會開始遇到錯誤處理、程式碼管理等比較進階的需求,在錯誤處理的部分,介紹了如何設定 Log,以及如何捕捉到特定狀況下的錯誤。程式碼管理的部分則是教大家怎麼去拆分程式,把指令模組化,甚至做到 hot-reload 的效果。
當一切都準備就緒後,就需要面臨另一個重要需求:部屬。雖然這與 discord.py 比較沒有關聯,但畢竟實際應用 Discord BOT 時還是需要掌握這部分,所以就還是花了一些篇幅教大家如何部屬。
第四階段:實戰篇 (27 ~ 30)
最後這個階段就是實戰演練了,如果只有看文件和教學,並沒有辦法有多大的進步,因此這邊就以我實際遇到的需求為例,跟大家一起應用前面所學,把各項功能實作出來。
遺珠之憾
雖然這次已經盡可能的包含多種功能,但還是有一些地方有點可惜,礙於時間考量,就沒有去研究,或許之後有機會的話,再去研究看看:
- Activity:這是 Discord 的新功能,看起來是可以把自己做的 SPA 網站放上去多人一起互動。
- converter、transformer:discord.py 內型別轉換的工具 (或是特性?),只有在部分文章中稍微提到一點點。
- check:discord.py 內指令的 Decorator,可以把一些常用的檢查整理到 check 中,減少重複的程式碼。
完賽心得
這次是我第二次參加鐵人賽了。有了上次的經驗,我這次 8 月初就開始規劃這次的主題與內容,不過整個系列的文章脈絡大改了很多次,直到 9 月初要開賽前才真正的定下來。
這段期間,有事沒事就在翻文件、查教學,盡可能去蒐集整理各種值得介紹的功能。這個過程讓我深刻地體會到,我當初寫的 Discord BOT 真的好陽春,但也讓我學習到我還有哪些地方可以改進。在這系列的最後幾天,我覺得我就像在一邊做專題,一邊寫專題進度報告,很多地方都是順著開發思路一路寫下去,導致不知不覺內容就變得太多了,只好拆成好幾天來寫。
原本想說這次應該會輕鬆一些 (畢竟有提早開始規劃),但沒想到 Discord 的功能有這麼多,想要有脈絡地介紹真的不容易。甚至最後部屬的時候才發現 Replit 已經改版了,才只好匆匆忙忙地臨時調整文章內容。
雖然寫文章這段期間壓力真的很大,但也收穫了很多,最後也有順利完賽。接下來,我應該會再把 Discord BOT 弄得更完善一些,期待我的 Discord BOT v2.0 能盡早上線!