首先,我們需要透過 Telegram 的 @BotFather 創建一個新的 Bot,並獲取該 Bot 的 API Token。API Token 是一個類似於 "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11" 的字串,用於向 Telegram 的 API 服務器進行身份驗證。
接下來,我們可以在瀏覽器中訪問以下 URL,將
https://api.telegram.org/bot<token>/getUpdates
這將返回一個 JSON 格式的數據,包含了最近的更新。
在返回的 JSON 數據中,查找 "result" 數組。每個元素代表一個更新,其中包含 "message" 或 "channel_post" 對象。在這些對象中,可以找到 "chat" 對象,其 "id" 字段就是該會話的 Chat ID。 對於私人會話,Chat ID 為正整數。對於群組,Chat ID 為負數,需要在前面加 "-100"。
遍歷所有更新的 "chat" 對象,獲取並儲存所有的 Chat ID。需要注意的是,getUpdates
只能獲取最近的更新,如果要獲取所有的 Chat ID,可能需要多次調用該方法。
可使用 php-telegram-bot/core 這個套件處理。
透過 Webhook 方式,使用 getupdates
函式來取得 chat id, 可參考 官方教學