Spaces:
Sleeping
Sleeping
| import asyncio | |
| import logging | |
| from pyromod import listen | |
| from pyrogram import Client | |
| from config import API_ID, API_HASH, BOT_TOKEN | |
| from telethon.sync import TelegramClient | |
| # --- Proxy Configuration --- | |
| PROXY_CONFIG = { | |
| "scheme": "http", # Or "socks5" | |
| "hostname": "154.196.33.209", | |
| "port": 63452, | |
| "username": "L4SzFXFkA", | |
| "password": "EC43VV3LU" | |
| } | |
| loop = asyncio.get_event_loop() | |
| logging.basicConfig( | |
| format="[%(levelname) 5s/%(asctime)s] %(name)s: %(message)s", | |
| level=logging.INFO, | |
| ) | |
| # Telethon Proxy Setup | |
| sex = TelegramClient( | |
| 'sexrepo', | |
| API_ID, | |
| API_HASH, | |
| proxy=(PROXY_CONFIG['scheme'], PROXY_CONFIG['hostname'], PROXY_CONFIG['port'], True, PROXY_CONFIG['username'], PROXY_CONFIG['password']) | |
| ).start(bot_token=BOT_TOKEN) | |
| # Pyrogram Proxy Setup | |
| app = Client( | |
| ":RestrictBot:", | |
| api_id=API_ID, | |
| api_hash=API_HASH, | |
| bot_token=BOT_TOKEN, | |
| workers=20, | |
| sleep_threshold=20, | |
| max_concurrent_transmissions=5, | |
| proxy=PROXY_CONFIG # Pyrogram accepts a dictionary | |
| ) | |
| async def restrict_bot(): | |
| global BOT_ID, BOT_NAME, BOT_USERNAME | |
| async with app: # Using context manager is safer | |
| getme = await app.get_me() | |
| BOT_ID = getme.id | |
| BOT_USERNAME = getme.username | |
| BOT_NAME = f"{getme.first_name} {getme.last_name}" if getme.last_name else getme.first_name | |
| print(f"Bot started as {BOT_NAME}") | |
| if __name__ == "__main__": | |
| loop.run_until_complete(restrict_bot()) | |