In order to send yourself a message via Telegram you need to do 3 things. Create a bot, get your chat id, start a chat with that bot, and finally send a message via the command line.
Step 1: Set up your bot
All Telegram bots have global visibility. This is important when setting the name for your bot. I have several bot, so I name them myusername_botname. This makes it so my bots all have similar names.
In order to set up a bot, you need to start a chat with @botfather
. Send the message /newbot
and the BotFather will walk you though setting up your new bot. This is what a typical conversation will look like:
[2:21:03 PM] George:
/newbot
[2:21:03 PM] BotFather:
Alright, a new bot. How are we going to call it? Please choose a name for your bot.
[2:21:08 PM] George:
test_123456
[2:21:07 PM] BotFather:
Good. Now let's choose a username for your bot. It must end in `bot`. Like this, for example: TetrisBot or tetris_bot.
[2:21:26 PM] George:
test_123456_bot
[2:21:25 PM] BotFather:
Done! Congratulations on your new bot. You will find it at telegram.me/test_123456_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
102932392:AAGjexEEZBJ3D09ubEb57zAAhq_qF8MDEI
For a description of the Bot API, see this page: https://core.telegram.org/bots/api
Congratulations, you have created a bot! Make sure you save the access token (i.e. api key)! You will need it to create requests.
Step 2: Get your chat id
To get your chat id you will need to start a chat with @idbot
, and send the message /getid
. The chat id will be a number like 394882049.
Step 3: Start chat with your new bot
This is easy. Just start a new chat with @your_bot_name
. This is necessary, though, or your bot will be unable to send messages to you.
Step 4: Send message via BASH
You need cURL installed. Use the following command to test your bot.
curl -s "https://api.telegram.org/bot$API_KEY/sendMessage?chat_id=$CHAT_ID&text=helloworld"
Make sure to replace the variables:
$API_KEY = the access token from Step 1
$CHAT_ID = the chat id from step 2
You should get a JSON response to let you know if it was successful.
Troubleshooting
If you get the error {"ok":false,"error_code":400,"description":"Bad Request: chat not found"}#
that either means that your chat_id
is incorrect, or that you haven’t started a conversation with the bot yet (see step 3)