import requests from telegram.ext import Updater, CommandHandler TELEGRAM_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN" XTREAM_URL = "http://your-panel-ip:8080" XTREAM_USER = "admin_api" XTREAM_PASS = "your_api_password"
Start small – just add /mystatus – then expand to auto-renewals and trial lines. The result? More time to grow your service and less time replying to “my tv froze” messages.
# Step 2: Call Xtream API api_url = f"XTREAM_URL/api.php?action=user_info&username=xtream_username&password=XTREAM_PASS" response = requests.get(api_url) xtream telegram
Server admins, resellers, and tech enthusiasts managing Xtream UI panels. Introduction If you manage an IPTV server using the Xtream Codes panel (or its modern forks like Xtream UI), you know that user management can become chaotic. Between resetting lines, sending expiry notices, and handling support tickets, your workload multiplies with every user.
Disclaimer: This content is for informational and educational purposes only. Ensure you comply with all applicable laws and copyright regulations in your region. The author does not endorse unauthorized streaming of copyrighted material. import requests from telegram
Learn how to connect your Xtream Codes panel to Telegram for real-time user management, automated renewals, and instant support. A step-by-step guide for advanced IPTV management.
def mystatus(update, context): user_telegram_id = str(update.effective_user.id) # Step 2: Call Xtream API api_url = f"XTREAM_URL/api
def start(update, context): update.message.reply_text("Welcome! Use /mystatus to check your line.")
# Step 1: Map Telegram ID to Xtream Username (from your DB) # For simplicity, assume the Telegram ID IS the username. xtream_username = user_telegram_id
if response.status_code == 200: data = response.json() expiry = data['user_info']['exp_date'] status = "Active" if data['user_info']['status'] == 1 else "Expired" update.message.reply_text(f"📡 Status: status\n📅 Expires: expiry") else: update.message.reply_text("Line not found. Contact support.") def main(): updater = Updater(TELEGRAM_TOKEN, use_context=True) dp = updater.dispatcher dp.add_handler(CommandHandler("start", start)) dp.add_handler(CommandHandler("mystatus", mystatus)) updater.start_polling() updater.idle()
if == " main ": main()