用 Python 打造自己的 Telegram Bot!
¶Telegram Bot 教學
這邊我們使用 Python 3.6↑ 與 telepot進行示範
telepot 文件
¶安裝 telepot 和 pprint 套件
1 | pip install telepot |
¶取得 telegram bot Token
跟 BotFather 對話輸入 /newbot
接著要輸入 名字 (bot的顯示名稱) 和 username (bot的使用者ID)
⚠️注意 username 必須是 bot 結尾
接著 BotFather 會給你一組 Token (紅色遮掉的地方)
¶測試是否有連上自己的 bot
1 | import telepot |
執行結果應該能看到自己 bot 的 id, is_bot, name, username 🎉
¶從 telegram 上接收訊息
1 | import telepot |
一般發送出來的訊息會長這個 Json 格式 🎉
Inline Query 的訊息會長這個 Json 格式 🎉
Inline Query 是指在 telegram 中以 @標記bot 輸入的文字而不送出
¶我比較常用到的屬性
屬性 | 描述 |
---|---|
chat_id | 每個房間都有一個聊天室 id,不管是私聊還是大群,這個屬性幾乎是必抓,因為這樣才能讓 bot 知道要回在哪個群組中。 |
from_username | 用戶的 username,可以用在標記 user 上 |
from_id | 用戶的 id,可以用在 inline 標記上 |
message_id | 用戶訊息的 id,可以用在 reply 上 |
id | 用戶 inline query 的 id,可以用在 reply 上 |
text | 用戶的訊息內容 |
query | 用戶的 inline query 內容 |
¶用 bot 回訊息在 telegram 上
1 | bot.sendMessage(chat_id, text, parse_mode=None, disable_web_page_preview=None, disable_notification=None, reply_to_message_id=None, reply_markup=None) |
1 | import telepot |
上面這段程式碼會讓 bot 當個鸚鵡,重複任何你打的字!
¶用 bot 回圖片在 telegram 上
1 | bot.sendPhoto(chat_id, photo, caption=None, parse_mode=None, disable_notification=None, reply_to_message_id=None, reply_markup=None) |
1 | import telepot |
上面這段程式碼會讓 bot 傳梗圖,你打任何字都會回你梗圖!