Skip to content

Dao-you/Telegram-DayCountdown-Bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

倒數日子 Telegram 機器人

本程式以 2023 年大學學科能力測驗作為範例。

套件安裝

本機器人共使用兩個需要額外安裝的套件

分別是用來傳送 Telegram Bot API 請求的 requests

和用來繪製圖片的 Pillow (俗稱 PIL,不過正牌 PIL 已停止維護)

第一次使用需要額外到終端機中執行安裝。

pip install Pillow requests

機器人 API 資訊設定

在開始使用機器人之前,您必須先取得一些 API 資訊:

  1. 建立一個 Telegram Bot 並取得 Token
  2. 取得聊天室 chat ID (群組、頻道及個人聊天室均可,但務必注意機器人帳號擁有發言權限)

取得資訊之後,在程式碼的 TelegramBottoken = TelegramChatID = 後方以字串形式填入相關資訊,它看起來會長得像這樣:

# 機器人 API 資訊
TelegramBottoken = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"
TelegramChatID   = "-1401592845274"

至於如何取得這些資訊,這不在這篇說明的範圍 不過如果你不知道的話,我還是很好心的幫你準備了連結:

  1. 取得 Token:Telegram 建立機器人 圖文教學
  2. 取得 ChatID:[Telegram] Telegram(五) 取得 Chat ID

日期設定

你可以在程式碼中找到一個稱為 GSAT 的變數,只要改變後方函數內的 yearmonthday 三個數值即可改變日期。

# 天數計算
today = datetime.date.today()
GSAT = datetime.date(year=2023, month=1, day=13)
print((GSAT - today).days)

其他需要注意的事情

  1. 送出訊息後,Console 會列印出 Telegram 那邊回傳回來的偵錯訊息,顯示 <response [200]> 為成功送出。
  2. 程式中留有一個未使用的函數 telegram_bot_sendtext 以備不時之需,如果需要的話可以順便給你拿去用。
  3. 如果你用了 telegram_bot_sendtext 函數,Telegram 那邊返回回來的偵錯訊息就有些複雜了,不過其實主要看最前面顯示發送有沒有成功就好。
  4. 有任何問題或建議歡迎來信與我討論。([email protected])
  5. 作者長得超帥的

相關文件

這裡是一些套件的相關使用方式,如果你想要修改程式的話,可以當作工具書查閱。

  1. Telegram Bot API sendMessage
  2. Telegram Bot API sendPhoto
  3. Pillow documentation

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages