Telegram Bot: From start to abandon
我曾經想過一個 Telegram 機器人 的專案:它可以每天檢查日期,並在特定日期的時候送出訊息。
最後我放棄了,因為遠比我想像中的難很多。不過也許有天我會重啟,所以先記下筆記。
首先,我先假設你已經有了 Telegram 帳號,並透過 BotFather 帳號建了一個機器人。
從這裡開始來講如何寫個機器人:首先先選個習慣的工具來寫:我這邊選用了 mullwar 的 telebot 來用。接著就可以開始寫了。一開始可以先照手冊複製貼上。
那個每天檢查的並在特定日期的時候送出訊息怎麼寫?嗯,看起來 Telegram 沒有定時送信的 API,我只好自己想辦法了。
我一開始認為應該向 NTP 求日期,所以想用 ntp-client 抓時間並配合 moment 套件完成。不過,在看了 reddit 的討論 後,我發現我搞錯了方向:就算用了 NTP,我還是會需要自動排程來完成工作。自動排程,似乎要使用 cron jobs 這玩意(另外還有一個有趣的東西叫 Node Schedule 的)。而如果需要對一個以上的用戶發送,你可能還需要資料庫以儲存用戶資訊。
……突然有點累了呀。還不知道如何佈署呢。那算了。
困難點
- 如何透過 cron jobs 發送訊息?又該下何種指令?
- 該下何種方法以便發送訊息?
- 如何安排日期檢查的實做?
- 還需要其他相關功能嗎?