Skip to content
Related Articles

Related Articles

Improve Article
Send message to Telegram user using Python
  • Difficulty Level : Hard
  • Last Updated : 26 May, 2021

Have you ever wondered how people do automation on Telegram? You may know that Telegram has a big user base and so it is one of the preferred social media to read people. What good thing about Telegram is that it provides a bunch of API’s methods, unlike Whatsapp which restricts such things. So in this post, we will be sharing how to send messages to a Telegram user using Python.
 

Getting Started

First, create a bot using Telegram BotFather. To create a BotFather follow the below steps – 
 

  • Open the telegram app and search for @BotFather. 
  • Click on the start button or send “/start”. 
  • Then send “/newbot” message to set up a name and a username. 
  • After setting name and username BotFather will give you an API token which is your bot token. 
     

Then create an app on the telegram. Follow the below steps – 
 

  • Log into the telegram core: https://my.telegram.org 
  • Go to ‘API development tools’ and fill out the form. 
  • You will get the api_id and api_hash parameters required for user authorization. 
     

 

Modules needed

You need several Python library imports for the script functioning. 
 



  • telebot: To install this module type the below command in the terminal.
pip install telebot
  • telethon: To install this module type the below command in the terminal. 
     
pip install telethon

Below is the implementation.
 

Python3




# importing all required libraries
import telebot
from telethon.sync import TelegramClient
from telethon.tl.types import InputPeerUser, InputPeerChannel
from telethon import TelegramClient, sync, events
 
  
# get your api_id, api_hash, token
# from telegram as described above
api_id = 'API_id'
api_hash = 'API_hash'
token = 'bot token'
message = "Working..."
 
# your phone number
phone = 'YOUR_PHONE_NUMBER_WTH_COUNTRY_CODE'
  
# creating a telegram session and assigning
# it to a variable client
client = TelegramClient('session', api_id, api_hash)
  
# connecting and building the session
client.connect()
 
# in case of script ran first time it will
# ask either to input token or otp sent to
# number or sent or your telegram id
if not client.is_user_authorized():
  
    client.send_code_request(phone)
     
    # signing in the client
    client.sign_in(phone, input('Enter the code: '))
  
  
try:
    # receiver user_id and access_hash, use
    # my user_id and access_hash for reference
    receiver = InputPeerUser('user_id', 'user_hash')
 
    # sending message using telegram client
    client.send_message(receiver, message, parse_mode='html')
except Exception as e:
     
    # there may be many error coming in while like peer
    # error, wwrong access_hash, flood_error, etc
    print(e);
 
# disconnecting the telegram session
client.disconnect()

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :