Python Telegram Bots
731 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
πŸ•’ Telegram Auto Poster Bot – Schedule Messages with Ease!

πŸš€ Want to automatically post messages to your Telegram group or channel at specific times? Here's a simple Python tool that gets the job done:

πŸ”§ Key Features:

1. ⏰ Time Scheduling
Send messages at a specific time daily using one command:
python app.py post.txt -t "09:00" IST


2. πŸ“‚ Post from File
It reads content directly from a .txt file (like post.txt) and posts it as the message.


3. 🌍 Timezone Support
Fully supports timezone-aware scheduling (e.g., IST), perfect for local or global audiences.


4. πŸ“’ Works with Groups & Channels
Just add your bot to any Telegram group or channel and it’ll start posting no extra setup!


5. πŸ” Repeats Daily Automatically
Once scheduled, the posts go out daily at the same times unless stopped.

πŸ”₯ Pro version has more features

Access Free Version Here πŸ‘‰ View Post

πŸ”₯ Multiple posts a day

⚑ Post on YouTube, WhatsApp, Facebook, Instagram (All from telegram Bot)

πŸ”₯ In a different timezone

⚑ Multiple Files and text files push

πŸ”’Many more

πŸ‘‰ Https://buymeacoffee.com/efxtv


#TelegramBot #Scheduler #PythonAutomation #TelegramTools #DailyPostBot

πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡
πŸ‘4❀1
import sys
import logging
import asyncio
from datetime import datetime
from apscheduler.schedulers.asyncio import AsyncIOScheduler
from apscheduler.triggers.cron import CronTrigger
import pytz

from telegram import Bot
from telegram.error import TelegramError

# ========================
# CONFIGURATION
BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN_HERE"
GROUP_ID_OR_USERNAME = "@yourgroupusername_or_chatid"
# ========================

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

def read_post_content(filepath):
try:
with open(filepath, 'r', encoding='utf-8') as f:
return f.read()
except Exception as e:
logger.error(f"Failed to read post content from {filepath}: {e}")
sys.exit(1)

async def send_message(bot, chat_id_or_username, text):
try:
await bot.send_message(chat_id=chat_id_or_username, text=text)
logger.info("Message sent successfully.")
except TelegramError as e:
logger.error(f"Failed to send message: {e}")

async def scheduled_job(bot, chat_id_or_username, post_content):
logger.info("Scheduled job triggered. Sending message...")
await send_message(bot, chat_id_or_username, post_content)

def parse_args():
if len(sys.argv) < 5 or sys.argv[2] != "-t":
print('Usage: python app.py post.txt -t "HH:MM" "Timezone"')
sys.exit(1)

post_file = sys.argv[1]
time_str = sys.argv[3]
timezone_str = sys.argv[4]

try:
hour, minute = map(int, time_str.split(":"))
except ValueError:
logger.error("Time format must be HH:MM (e.g. 14:50)")
sys.exit(1)

if timezone_str not in pytz.all_timezones:
logger.warning(f"Unknown timezone '{timezone_str}'. Defaulting to Asia/Kolkata (IST).")
timezone_str = "Asia/Kolkata"

return post_file, hour, minute, timezone_str

def main():
post_file, hour, minute, timezone_str = parse_args()

if BOT_TOKEN == "YOUR_TELEGRAM_BOT_TOKEN_HERE" or GROUP_ID_OR_USERNAME == "@yourgroupusername_or_chatid":
logger.error("Please set your BOT_TOKEN and GROUP_ID_OR_USERNAME in the script.")
sys.exit(1)

post_content = read_post_content(post_file)
bot = Bot(token=BOT_TOKEN)

scheduler = AsyncIOScheduler(timezone=pytz.timezone(timezone_str))

scheduler.add_job(
scheduled_job,
trigger=CronTrigger(hour=hour, minute=minute),
args=[bot, GROUP_ID_OR_USERNAME, post_content],
id="daily_post",
replace_existing=True,
)

scheduler.start()
logger.info(f"Scheduled post at {hour:02d}:{minute:02d} {timezone_str}. Waiting...")

try:
asyncio.get_event_loop().run_forever()
except (KeyboardInterrupt, SystemExit):
logger.info("Shutting down scheduler...")
scheduler.shutdown()

if __name__ == "__main__":
main()


#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
πŸ‘3❀2
Telegram Group User Extractor Bot built with Python: (Python Education)

πŸ“₯ Telegram User Extractor Bot (Python-Based)
Want to export all members (including admins) from any Telegram group or channel? Here's a powerful CLI bot using Telethon:

1️⃣ Extracts usernames + full names from public/private groups you're in

2️⃣ Saves all data neatly in a users.txt file

3️⃣ Sends the file to your own Telegram (Saved Messages)

4️⃣ Works with your own account (not a bot) using Telegram API

5️⃣ One-command run:
python app.py

πŸ’‘ View the post Here

πŸ›  Get started:
https://my.telegram.org β†’ Get API ID + Hash

πŸ“‚ Code: DM me or reply "GET USER BOT"

#telegram #python #userextractor #telethon #groupbot #opensource

For more : Https://buymeacoffee.com/efxtv

πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡
❀1
from telethon.sync import TelegramClient
from telethon.tl.functions.channels import GetParticipantsRequest
from telethon.tl.types import ChannelParticipantsSearch

import asyncio


api_id = 123456 # Replace with your actual API ID
api_hash = 'your_api_hash_here'
or invite link
target_group = 'https://t.me/group_or_channel_username'

client = TelegramClient('session_name', api_id, api_hash)

async def main():
await client.start()

print(f"Connecting to {target_group}...")
entity = await client.get_entity(target_group)

print("Fetching members...")
offset = 0
limit = 100
all_participants = []

while True:
participants = await client(GetParticipantsRequest(
channel=entity,
filter=ChannelParticipantsSearch(''),
offset=offset,
limit=limit,
hash=0
))
if not participants.users:
break
all_participants.extend(participants.users)
offset += len(participants.users)

print(f"Total users fetched: {len(all_participants)}")

with open('users.txt', 'w', encoding='utf-8') as f:
for user in all_participants:
username = user.username or ''
first_name = user.first_name or ''
last_name = user.last_name or ''
full_name = f"{first_name} {last_name}".strip()
f.write(f"{username} - {full_name}\n")

await client.send_file('me', 'users.txt', caption="Here is the list of users.")
print("users.txt sent to your Saved Messages.")

with client:
client.loop.run_until_complete(main())

#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
⚑1
πŸ” APK Signer Bot - Sign Your Android APKs Instantly!
Failed to signing APKs manually? Just send your unsigned .apk file to telegram APK signer bot and get your project signed automatically.

βœ… What this bot can do: View code

πŸ“₯ Accepts any unsigned APK file directly in chat
πŸ” Automatically signs it using a secure keystore
⚑️ Sends back the signed APK in seconds
πŸ›‘ Works 24/7 No need to install Android Studio
πŸ€– Fully automated, privacy-safe, and open-source

πŸ’¬ How to use:
Just type /start and upload your APK file that’s it!

πŸ”— Try it now: @ Your Bot User name

#TelegramBot #AndroidDev #APKSigner #PythonBot #AppDevelopment

πŸ“₯ For more : Https://buymeacoffee.com/efxtv

πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡πŸ‘‡
πŸ‘1
import os
import subprocess
import logging
from telegram import Update, InputFile
from telegram.ext import (
ApplicationBuilder,
MessageHandler,
CommandHandler,
ContextTypes,
filters
)

# Telegram bot by @efxtve

BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" # <-- Replace with your token
KEYSTORE_FILE = "auto-release.keystore"
ALIAS = "auto"
STOREPASS = "password"
KEYPASS = "password"
KEYTOOL = "/usr/bin/keytool"
APKSIGNER = "/usr/bin/apksigner"

logging.basicConfig(level=logging.INFO)

def create_keystore():
if os.path.exists(KEYSTORE_FILE):
return
subprocess.run([
KEYTOOL, "-genkey", "-v",
"-keystore", KEYSTORE_FILE,
"-alias", ALIAS,
"-keyalg", "RSA",
"-keysize", "2048",
"-validity", "10000",
"-storepass", STOREPASS,
"-keypass", KEYPASS,
"-dname", "CN=Auto Signer, OU=Dev, O=Auto, L=City, S=State, C=US"
], check=True)

def sign_apk(apk_path):
subprocess.run([
APKSIGNER, "sign",
"--ks", KEYSTORE_FILE,
"--ks-key-alias", ALIAS,
"--ks-pass", f"pass:{STOREPASS}",
"--key-pass", f"pass:{KEYPASS}",
apk_path
], check=True)

# --- Handlers ---
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(
"πŸ‘‹ Send an unsigned APK.\n\n"
)

async def handle_apk(update: Update, context: ContextTypes.DEFAULT_TYPE):
document = update.message.document
if not document.file_name.endswith(".apk"):
await update.message.reply_text("❌ Please send a valid `.apk` file.")
return

await update.message.reply_text("πŸ“₯ Downloading APK...")
file = await context.bot.get_file(document.file_id)
apk_filename = f"input_{document.file_name}"
await file.download_to_drive(apk_filename)

try:
create_keystore()
sign_apk(apk_filename)
await update.message.reply_text("βœ… APK signed successfully. Sending back...")

with open(apk_filename, "rb") as f:
await update.message.reply_document(InputFile(f, filename=f"signed_{document.file_name}"))

except subprocess.CalledProcessError:
await update.message.reply_text("❌ Failed to sign APK.")
finally:
os.remove(apk_filename)

def main():
app = ApplicationBuilder().token(BOT_TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.Document.ALL, handle_apk))
print("[*] Bot is running...")
app.run_polling()

if __name__ == "__main__":
main()

#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
❀1
Python Telegram Bots pinned Β«import os import subprocess import logging from telegram import Update, InputFile from telegram.ext import ( ApplicationBuilder, MessageHandler, CommandHandler, ContextTypes, filters ) # Telegram bot by @efxtve BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"…»
Hi
🫑5
🚨 This Script Can Be a Hacker's Backdoor Weapon - Are You Prepared to Detect It? πŸ”
Cybersecurity researchers and Penetration Tester: take note. This isn't just code - it's a persistent, low-footprint tunnel that attackers could deploy in seconds.

Note: We recently analyzed a powerful script that demonstrates how easily a remote tunnel can be created - with almost no user interaction. While this is meant strictly for educational and research purposes, its misuse could lead to serious consequences if deployed maliciously.

πŸ‘©β€πŸ’» Contact admin for more: @errorfix_tv

πŸ”§ Silent Sudo User Creation - Without Raising Flags
The script programmatically adds a sudo-enabled user, grants passwordless access, and drops them into the sudoers file β€” all without user interaction.

πŸ›£ Covert Reverse SSH Tunnel via Serveo.net
Attackers can expose a victim's SSH port over the internet, bypassing NAT/firewalls β€” no need to touch the router or configure port forwarding.

πŸ“¬ Instant Exfiltration Channel Using Telegram Bots
Once the tunnel is live, the attacker gets real-time alerts with the public-facing IP and port, giving them instant access β€” no callback servers needed.

🧱 Persistence by Design β€” Auto-Reconnect on Drop
The tunnel is kept alive persistently. If Serveo dies or disconnects, the script spins it right back up. Most blue teams won’t notice unless they’re actively watching process trees.

πŸ’€ Minimal Footprint, Temporary Logs, and No Obvious Artifacts
All logs are stored in temp directories. No cron jobs, no services β€” it lives in memory and subprocesses, making it stealthier than most reverse shells.

⚠️ Red teamers and blue teamers alike should analyze scripts like this β€” because black hats already are.
πŸ›‘ Understanding the methods is the first step in building effective detection and defense.

Want a full breakdown or PoC? Drop a message.

⚠️ Source code in controlled environment for students only: [ VIEW ]

#CyberSecurity #PenTest #RedTeam #Backdoor #TTPs #MalwareAnalysis
❀3πŸ‘1
Join https://t.me/python_telegram_bot_source_codes
Soon we will publish more tools
πŸ”₯1
Telegram Bot for Hard Reset (Windows machines)

πŸ›‘ Note: This Telegram bot allows authorized users to perform a hard reset of files and directories in the user's home directory. It must be used ethically and with caution, as it involves permanent data deletion.

βœ… Deploy the bot [ SOURCE CODE ]

πŸ€– How to use?
Start bot and push commands
/start
/hardreset

πŸ€– Ethical Use
This bot should only be used in controlled environments (e.g., testing or personal systems) with explicit consent. Unauthorized or malicious use, such as deleting data on shared or public systems, is unethical and potentially illegal.

πŸ€– Benefit
Efficient System Cleanup: Quickly wipes all files and directories in the home directory, useful for resetting test environments or clearing personal systems during troubleshooting.

πŸ€– Disadvantage
Irreversible Data Loss: Deletes all data without recovery options, posing a risk of losing critical files if used improperly.

πŸ›‘Use it on your own responsibly (in a virtual windows OS to avoid damage).

πŸ” Premium app can have more features: (on a single click)
- Wipe data
- Reset Settings
- Cleanup Temp Files
- Remote Reboot Request
- Screen Share
- Screenshot
- FTP Over Browser
- Connect System via RDP
- Grab Login Logs
- Backup Creation
- Selective Data Restoration
- Scheduled Tasks
- Please suggest more... Thank you

#TelegramBot #HardReset #SystemCleanup #EthicalTech #DataWipe #SystemManagement #TechTools #RemoteAdmin #Cybersecurity #Automation #PremiumFeatures #DataSafety #TechSolutions #SystemReset #ResponsibleTech

πŸ“₯ For more : Https://buymeacoffee.com/efxtv
πŸ‘2
import os
import shutil
import logging
from telegram import Update
from telegram.ext import ApplicationBuilder, CommandHandler, ContextTypes

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

TOKEN = 'YOUR_TELEGRAM_BOT_TOKEN'
AUTHORIZED_USER_ID = 'YOUR_TELEGRAM_USER_ID' # Replace with your Telegram user ID (int)

def hard_reset():
home_dir = os.path.expanduser("~")
for root, dirs, files in os.walk(home_dir, topdown=False):
for name in files:
try:
os.remove(os.path.join(root, name))
except Exception as e:
logger.error(f"Failed to delete file {name}: {e}")
for name in dirs:
try:
shutil.rmtree(os.path.join(root, name))
except Exception as e:
logger.error(f"Failed to delete directory {name}: {e}")

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
await update.message.reply_text('Hello! Send /hardreset to wipe all data.')

async def hardreset_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
user = update.effective_user
if user.id != AUTHORIZED_USER_ID:
await update.message.reply_text("Unauthorized access.")
return

await update.message.reply_text("Starting hard reset...")
try:
hard_reset()
await update.message.reply_text("Hard reset completed.")
except Exception as e:
await update.message.reply_text(f"Error during hard reset: {e}")

def main():
app = ApplicationBuilder().token(TOKEN).build()

app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("hardreset", hardreset_command))

app.run_polling()

if __name__ == '__main__':
main()


#telegrambot
@python_telegram_bot_source_codes
#python_telegram_bot_source_codes
❀6πŸ‘1πŸ”₯1
Please share for more
Python Telegram Bots pinned Β«Telegram Bot for Hard Reset (Windows machines) πŸ›‘ Note: This Telegram bot allows authorized users to perform a hard reset of files and directories in the user's home directory. It must be used ethically and with caution, as it involves permanent data deletion.…»
hi
πŸ‘2❀1
Donate to keep this project going https://buymeacoffee.com/efxtv

πŸ”§ Upcoming Telegram Bot Project:

1. 🧠 AI-Powered Terminal Assistant
β€” Execute Linux commands, get instant CLI help, or automate tasks via Telegram.


2. πŸ•΅οΈ Username Recon Bot
β€” Search over 100+ social platforms for a given username.


3. πŸ“² APK Analyzer Bot
β€” Upload an APK and get permissions, trackers, and security risk details.


4. πŸ’£ Exploit Checker Bot
β€” Check known CVEs & exploits for a given domain, IP, or software version.


5. 🎯 Phishing Link Detector Bot
β€” Send a suspicious URL to the bot and it’ll scan for phishing/malware risks.


6. πŸ” Password Strength + Breach Check Bot
β€” Users can test password safety (locally hashed) & check against leaked DBs.


7. πŸ›°οΈ Satellite Live Tracker Bot
β€” Track Starlink, ISS, or satellites live from Telegram.


8. πŸ“ž Disposable Number Bot
β€” Instantly get a temporary phone number for verification use (free/limited).


9. 🧰 Port Scanner Bot
β€” Input an IP/domain and get common open ports + banner grab info.


10. 🧬 Metadata Extractor Bot
β€” Upload any file or image and the bot returns detailed metadata (EXIF, PDF info, etc).


11. πŸŽ₯ CCTV/IP Cam Viewer Bot β€” Stream local RTSP feeds securely through Telegram.

Donate to keep this project going https://buymeacoffee.com/efxtv
❀1
Are you a developer or sysadmin who constantly needs to check your server's IP address? πŸ€” Forget about logging in just to find a simple IP!

We've created a simple and effective solution: a Python script that sends your server's IP and OS details directly to a Telegram bot! πŸ€–πŸ’»

Here's what it does:
βœ… Gets your server's local IP address.
βœ… Determines the operating system (e.g., Linux, Windows, macOS).
βœ… Sends an automatic message to your Telegram bot.

It's the perfect little tool for when you need to quickly SSH into your machine or just want to keep an eye on your server's status. It's simple, lightweight, and super convenient! πŸš€

All you need is the Python script and a Telegram bot token. Set it up as a cron job, and you'll always have your IP address just a message away.

Donate to keep this project going https://buymeacoffee.com/efxtv

TELEGRAM BOT ADDRESS [ DOWNLOAD NOW ]

FULL PROJECT @errorfix_tv

#Python #TelegramBot #SSH #Server #DevOps #Automation
πŸ‘2
import requests
import socket
import platform

TOKEN = 'YOUR_BOT_TOKEN'
CHAT_ID = 'YOUR_CHAT_ID'

def get_local_ip():
try:
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.connect(("192.168.1.1", 80))
ip = s.getsockname()[0]
s.close()
return ip
except:
return "Could not determine IP"

def send_message():
ip = get_local_ip()
msg = f"OS: {platform.system()}\nIP: {ip} is up"
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
requests.post(url, data={'chat_id': CHAT_ID, 'text': msg})

if __name__ == "__main__":
send_message()


#telegrambot
@python_telegram_bot_source_codes
#python_telegram_bot_source_codes
❀3
Screenshot telegram BOT

import os
import time
import threading
import pyautogui
import cv2
import numpy as np
from telegram import Update
from telegram.ext import Updater, CommandHandler, CallbackContext

# Global variable to control the screenshot thread
screenshot_thread = None
screenshot_interval = 0
is_running = False
user_chat_id = None

def start(update: Update, context: CallbackContext):
update.message.reply_text('Welcome to Screenshot Bot! Use /screenshot <duration> to start taking screenshots.')

def screenshot(update: Update, context: CallbackContext):
global screenshot_thread, screenshot_interval, is_running, user_chat_id
if is_running:
update.message.reply_text('Screenshot process is already running.')
return

try:
duration = context.args[0] # Get the duration from the command
if duration.endswith('m'):
duration = int(duration[:-1]) * 60 # Convert to seconds
else:
update.message.reply_text('Please specify duration in minutes (e.g., 1m).')
return

user_chat_id = update.message.chat_id
screenshot_interval = 1 # Interval of 1 second for taking screenshots
is_running = True
update.message.reply_text(f'Starting screenshot every {screenshot_interval} second(s) for {duration} seconds.')

# Start the screenshot thread
screenshot_thread = threading.Thread(target=take_screenshots, args=(duration,))
screenshot_thread.start()

except (IndexError, ValueError):
update.message.reply_text('Usage: /screenshot <duration in minutes (e.g., 1m)>')

def take_screenshots(duration):
start_time = time.time()
while (time.time() - start_time) < duration:
# Take a screenshot
screenshot = pyautogui.screenshot()
screenshot_np = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)
file_path = 'screenshot.png'
cv2.imwrite(file_path, screenshot_np) # Save the screenshot
# Send the screenshot to the user
context.bot.send_photo(chat_id=user_chat_id, photo=open(file_path, 'rb'))
time.sleep(screenshot_interval)

global is_running
is_running = False
screenshot_thread = None

def stop(update: Update, context: CallbackContext):
global is_running
if is_running:
is_running = False
update.message.reply_text('Screenshot process stopped.')
else:
update.message.reply_text('No active screenshot process to stop.')

def main():
# Replace 'YOUR_TOKEN' with your bot's token
updater = Updater('YOUR_TOKEN', use_context=True)
dp = updater.dispatcher

dp.add_handler(CommandHandler("start", start))
dp.add_handler(CommandHandler("screenshot", screenshot))
dp.add_handler(CommandHandler("stop", stop))

updater.start_polling()
updater.idle()

if __name__ == '__main__':
main()
πŸ‘7❀1