How to create bitly telegram bot using python

  1. Install the required dependencies:
    • Install the python-telegram-bot library by running pip install python-telegram-bot.
    • Install the requests library by running pip install requests.
  2. Create a new bot on Telegram:
    • Open Telegram and search for “BotFather.”
    • Follow the instructions to create a new bot and obtain the API token.
  3. Register for a Bitly account:
    • Go to the Bitly website ( and create an account if you don’t have one.
  4. Generate an access token in Bitly:
    • After logging in to Bitly, go to your account settings and generate an access token. This token will be used to interact with the Bitly API.
  5. Set up your Python script:
    • Import the necessary libraries:

import telegram
import requests

Create an instance of the Telegram Bot using the API token obtained from BotFather:

bot = telegram.Bot(token='YOUR_TELEGRAM_BOT_TOKEN')

Define a function to handle incoming messages:

def handle_message(update, context):
message = update.message
chat_id = message.chat_id
text = message.text

# Process the received message and shorten the URL using Bitly API
shortened_url = shorten_url(text)

# Send the shortened URL back to the user
bot.send_message(chat_id=chat_id, text=shortened_url)

Register the message handler function:

updater = telegram.Updater(token='YOUR_TELEGRAM_BOT_TOKEN', use_context=True)
dispatcher = updater.dispatcher
dispatcher.add_handler(telegram.MessageHandler(telegram.Filters.text, handle_message))

Define the shorten_url function to interact with the Bitly API:

def shorten_url(url):
access_token = 'YOUR_BITLY_ACCESS_TOKEN'
endpoint = f""
headers = {
'Authorization': f'Bearer {access_token}',
'Content-Type': 'application/json'
payload = {
'long_url': url
response =, headers=headers, json=payload)
data = response.json()
shortened_url = data.get('link')
return shortened_url

Start the bot:


Your bot is now ready to receive and process messages.

  1. Run your Python script:
    • Save your Python script with a .py extension.
    • Run the script using python

Note: Make sure to replace 'YOUR_TELEGRAM_BOT_TOKEN' with your actual Telegram bot token and 'YOUR_BITLY_ACCESS_TOKEN' with your actual Bitly access token in the script.

Be the first one to comment

Leave a reply