昨天把 Macaron 第一版要做的事情整理完之後,今天終於可以開始動工了!
先幫自己訂一個目標:
第 30 天,Macaron 要真的在 Discord 上線。
到時候我會發布一篇大眾占卜,大家可以在下面留言選 A、B、C,Macaron 再把對應的占卜結果送到私訊。
所以今天要開始串 Discord 了嗎?答案是:還沒!!
今天先來做一些使用者看不到,但我覺得應該先處理好的東西。
Macaron 現在還在我的電腦裡開發。
之後才會慢慢接上 Discord、資料庫、AI,最後放到伺服器上,讓大家真的可以使用。
這中間會經過很多次測試。
所以我第一個想處理的是:
我在測試的時候,不要真的影響到使用者。
例如我只是想測試「Macaron 會不會傳訊息」,它就真的跑去 Discord 傳給大家。
這樣就有點尷尬了。
所以我先把「測試」和「真的對外運作」分開。
目前不管怎麼設定,Macaron 都只能離線執行。
也就是我可以在自己的電腦裡測試它,但它還不能真的跑出去做事情。
接下來 Macaron 會慢慢需要一些權限。
例如連接 Discord、讀取資料庫,或使用 API Key 呼叫 AI。
但現在這些東西都還用不到。
所以我先設定了三個開關:
能不能連接外部服務
能不能啟動正式功能
能不能讀取密碼、Token、API Key
目前全部都是關閉的。
我也有故意把其中幾個打開測試。
只要現在有人想打開它們,程式就會直接停止。
為什麼我要特地做這件事?
因為現在才 Day 02,我當然知道哪些功能還不能用。
可是做到 Day 10、Day 20,功能越來越多之後,我不一定還記得每一個設定現在應該是什麼狀態。
所以這種可以直接交給程式檢查的事情,就不要靠我的記憶力了。
另外還有一個很小的地方。
寫程式遇到問題的時候,我很常會先把目前的資料印出來看看。
但 Macaron 之後會開始有 Token、API Key、密碼這些不能公開的資料。
如果哪天為了找問題,直接把整份設定印出來,這些東西也可能一起跑出來。
所以我今天順便把這件事情限制掉。
之後我還是可以查看 Macaron 現在的狀態,例如:
目前是不是離線?
哪些功能有開?
哪些功能是關的?
但密碼、Token、API Key 不會顯示出來。
我要看的只是「現在設定對不對」,不需要看到密碼本身。
最後,今天也把 GitHub 的自動測試加進來了。
簡單來說,以後只要 Macaron 的程式有修改,GitHub 就會自動跑一次測試。
這樣我之後新增功能時,如果不小心把前面已經做好的東西弄壞,可以比較早發現。
目前自動測試也只負責測試。
不會部署、不會讀取密碼,也不會連接正式服務。
另外,Macaron 現在也還沒有安裝額外的 Python 套件。
Discord、資料庫之後一定會用到,但今天還沒做到,所以就先不裝。
需要的時候再加就好。
所以今天做完之後,Macaron 還是不會占卜。
甚至連 Discord 都還沒接上。
今天主要完成的是幾個最基本的規則:
測試的時候不能真的影響使用者、還沒開放的功能不能偷偷被打開、密碼不能隨便顯示出來,以及每次修改程式之後都要重新測試。
這些東西使用者之後應該完全感覺不到。
而我希望他們真的感覺不到。
因為對使用者來說,最重要的還是:
我留言選了 A,Macaron 就好好地把 A 的答案送給我。
至於後面怎麼避免送錯、怎麼確認內容可以發布,這些就是我要處理的事情了。
好,基本規則先處理完。
明天終於可以開始做大眾占卜本身。
一篇大眾占卜裡面到底要有哪些資料?
題目、A/B/C、抽到的牌、解讀內容,要怎麼讓 Macaron 知道它們彼此的關係?
Day 03 繼續。
馬卡龍預拌粉持續攪拌中……🍪