Content :
- Create a Telegram Bot and get a Bot Token
- Get Chat ID for a Private Chat
- Get Chat ID for a Channel
- Get Chat ID for a Group Chat
- Get Chat ID for a Topic in a Group Chat
- Open Telegram application then search for
@BotFather
- Click Start
- Click Menu -> /newbot or type
/newbot
and hit Send - Follow the instruction until we get message like so
Done! Congratulations on your new bot. You will find it at t.me/new_bot. You can now add a description..... Use this token to access the HTTP API: 63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c Keep your token secure and store it safely, it can be used by anyone to control your bot. For a description of the Bot API, see this page: https://core.telegram.org/bots/api
- So here is our bot token
63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c
(make sure we don't share it to anyone).
- Search and open our new Telegram bot
- Click Start or send a message
- Open this URL in a browser
https://api.telegram.org/bot{our_bot_token}/getUpdates
- See we need to prefix our token with a word
bot
- Eg:
https://api.telegram.org/bot63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c/getUpdates
- See we need to prefix our token with a word
- We will see a json like so
{ "ok": true, "result": [ { "update_id": 83xxxxx35, "message": { "message_id": 2643, "from": {...}, "chat": { "id": 21xxxxx38, "first_name": "...", "last_name": "...", "username": "@username", "type": "private" }, "date": 1703062972, "text": "/start" } } ] }
- Check the value of
result.0.message.chat.id
, and here is our Chat ID:21xxxxx38
- Let's try to send a message:
https://api.telegram.org/bot63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c/sendMessage?chat_id=21xxxxx38&text=test123
- When we set the bot token and chat id correctly, the message
test123
should be arrived on our Telegram bot chat.
- Add our Telegram bot into a channel
- Send a message to the channel
- Open this URL
https://api.telegram.org/bot{our_bot_token}/getUpdates
- We will see a json like so
{ "ok": true, "result": [ { "update_id": 838xxxx36, "channel_post": {...}, "chat": { "id": -1001xxxxxx062, "title": "....", "type": "channel" }, "date": 1703065989, "text": "test" } } ] }
- Check the value of
result.0.channel_post.chat.id
, and here is our Chat ID:-1001xxxxxx062
- Let's try to send a message:
https://api.telegram.org/bot63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c/sendMessage?chat_id=-1001xxxxxx062&text=test123
- When we set the bot token and chat id correctly, the message
test123
should be arrived on our Telegram channel.
The easiest way to get a group chat ID is through a Telegram desktop application.
- Open Telegram in a desktop app
- Add our Telegram bot into a chat group
- Send a message to the chat group
- Right click on the message and click
Copy Message Link
- We will get a link like so:
https://t.me/c/194xxxx987/11/13
- The pattern:
https://t.me/c/{group_chat_id}/{group_topic_id}/{message_id}
- So here is our Chat ID:
194xxxx987
- We will get a link like so:
- To use the group chat ID in the API, we need to prefix it with the number
-100
, like so:-100194xxxx987
- Now let's try to send a message:
https://api.telegram.org/bot63xxxxxx71:AAFoxxxxn0hwA-2TVSxxxNf4c/sendMessage?chat_id=-100194xxxx987&text=test123
- When we set the bot token and chat id correctly, the message
test123
should be arrived on our group chat.
In order to send a message to a specific topic on Telegram group, we need to get the topic ID.
- Similar to steps above, after we click the
Copy Message Link
, we will get a link like:https://t.me/c/194xxxx987/11/13
, so the group Topic ID is11
. - Now we can use it like so (see
message_thread_id
):https://api.telegram.org/bot783114779:AAEuRWDTFD2UQ7agBtFSuhJf2-NmvHN3OPc/sendMessage?chat_id=-100194xxxx987&message_thread_id=11&text=test123
- When we set the bot token and chat id correctly, the message
test123
should be arrived inside our group chat topic.
Trying to get group chat id on macOS installed Telegram app. There doesn't seem to be a right click "Copy Message Link" option. What am I missing?