iT邦幫忙

2024 iThome 鐵人賽

0
Python

用 Python 打造你的 Discord BOT系列 第 31

[Day 31] 回顧與心得

  • 分享至 

  • xImage
  •  

終於寫完了!

Roadmap

高清 Miro 連結

回顧

這個系列文章大致上可以分成四個階段:

第一階段:入門篇 (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 能盡早上線!


上一篇
[Day 30] 開發實戰 (四):功能實作 (下)
系列文
用 Python 打造你的 Discord BOT31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言