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
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
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
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
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