From Python to Telegram: Build your own Notification System
Sometimes it is useful to make your python script able to send some kind of notifications directly to a user’s mobile phone or to a developer (maybe yourself). It can be a kind of logging, or notifying that some job was done, or an error report.
The most popular, free, stable, and flawless tool to add software notifications to your phone is Telegram messenger. At the moment of writing this article Telegram has more than 1 billion downloads and about 500 million active users per month.
In this tutorial, I will show step by step how to add Telegram notifications with 25 lines of code and no extra libraries for your project, except for two basic libraries: requests and json, which are almost standard for python.
If you already have a Telegram account – feel free to move to step 2.
Otherwise, you should have an account in Telegram Messenger. So let’s learn how to get that account.
Step 1. Creating a Telegram account
Telegram is available at all well-known platforms like iOS, Android, Linux, Windows, macOS. It is better to have the telegram app on a mobile device because our goal is to receive notifications wherever we are.
Choose an appropriate version of telegram at https://telegram.org/ and install it on your mobile device.
Right after launching, Telegram will suggest you register an account using a mobile phone number. You should have one, or you can register an account without having your own number, but using a temporary number provided by a service. Maybe I will write a tutorial about it.
Next, we should register a bot. If you know how to do that, or already have a bot, just skip this step…
Step 2. Registering a Bot
Open the Telegram app, push the search icon on the top-right corner and enter BotFather.
You should see a screen like this:
Notice an icon of a white checkmark in blue surroundings to the right of BotFather. It means that the account is not fake.
Select the BotFather account and push the START button to start chatting with BotFather.
Notice an icon of a white checkmark in blue surroundings to the right of BotFather. It means that the account is not fake.
Select the BotFather account and push the START button to start chatting with BotFather.
Congratulations on your new bot.
BotFather sends you a token to let you access the HTTP API. Copy it for further use. It is private information that allows full control of your Bot. Store it carefully.
Find your Bot using a search bar and open a chat with your Bot. Click start.
Step 3. Copy this function to your python code
import requests
import json def send_telegram_message(message: str, chat_id: str, api_key: str, proxy_username: str = None, proxy_password: str = None, proxy_url: str = None): responses = {} proxies = None if proxy_url is not None: proxies = { 'https': f'http://{username}:{password}@{proxy_url}', 'http': f'http://{username}:{password}@{proxy_url}' } headers = {'Content-Type': 'application/json', 'Proxy-Authorization': 'Basic base64'} data_dict = {'chat_id': chat_id, 'text': message, 'parse_mode': 'HTML', 'disable_notification': True} data = json.dumps(data_dict) url = f'https://api.telegram.org/bot{api_key}/sendMessage' response = requests.post(url, data=data, headers=headers, proxies=proxies, verify=False) return response
That is it.
Now you can send notifications to Telegram by calling the send_telegram_message
function.
Step 4. Using a Proxy
Proxy URL, username and password are usually not necessary, and if it is required these data can be provided by a system administrator of your network. Usually, proxy URLs for https and http are the same. If not – this function can be slightly modified to fit new requirements by adding a new set of parameters for HTTPS URL.
Step 5. How to get a chat_id
It can be tricky to find out how to get a chat_id for sending messages to.
But the solution is simple: just use @username_to_id_bot or other similar bots (there are many bots in telegram ready to help you).
This bot will send you your ID which can be used as a parameter in the send_telegram_message function.
Finally, let’s test how it works.
Add these lines to your code:
chat_id = "<fill your chat id here>"
api_key = "<fill api key of your bot here>" send_telegram_message("Hello world!!!", chat_id, api_key)
It’s done!
From Python to Telegram: Build your own Notification System
Source: Super Trending News PH
Post a Comment
0 Comments