去年寫了在工作上使用到的 FastAPI,今年想來寫點不一樣的,想來想去最後決定來介紹 Discord BOT。
Discord BOT,顧名思義,就是在 Discord(通常簡稱為 DC)這個通訊軟體上的機器人。這些機器人的行為與一般使用者相似,但所有動作都是由程式事先設定的。開發者訂好規則之後,只要條件滿足 (e.g. 使用者輸入敏感字詞),機器人就會做出對應的處理 (e.g. 把敏感字詞改成 ***)。
我曾開發過一個 Discord BOT,雖然它已經滿足了我和朋友的需求,並幫助了我們不少,但我相信還有改進的空間。因此,藉著這次鐵人賽,我希望重新深入研究 Discord BOT,了解一些我過去未曾使用過的功能,或找到可以優化的寫法,並將這些經驗整理成教學文章與大家分享,期盼大家也能製作出符合自己需求的 BOT。
最初我會想到要使用 Discord BOT,完全是因為玩遊戲的需求。
當時,我們為了更有效率地獲得遊戲獎勵,有位朋友寫了一個程式來計算最佳策略。大家只需每天在 Discord 群組中留言,更新自己當天的遊戲道具狀況,然後把這些數據丟進那個程式進行計算就好。
然而,實際使用時還是覺得有些不便,感覺很多步驟可以進一步自動化。因此,我決定開發一個 Discord BOT,將整個流程整合起來,讓大家更輕鬆地獲得最佳遊戲獎勵。
具體的細節(如遊戲機制、Discord BOT 的功能等)會在後續文章中詳細介紹,敬請期待 xD
首先,我會簡單介紹如何製作一個基礎的 Discord BOT,讓大家能夠跟著文章一步步做出屬於自己的 BOT。接著,會進一步介紹一些進階功能與模組。最後,當大家有一定的理解之後,再來分享我自己開發的 Discord BOT,並展示我是如何利用這些功能來實現需求的。
為了讓大家更好地理解,我畫了一張 Discord BOT 的學習路線圖 (roadmap),把這次鐵人賽預計提到的內容都涵蓋進來了~
在圖中,白色區塊代表建立 Discord BOT 的主要步驟;虛線延伸出去的部分則是相關的主題;框起來的部分表示它們是一組的,通常會一起出現。
因此,看完這系列文章後,你會學到:
你「應該」不會學到: