import logging import time import os from pyrogram import Client, filters from pyrogram.types import Message, InlineKeyboardMarkup, InlineKeyboardButton from pyrogram.types import * import akenoai as ak from config import API_KEY, API_ID, API_HASH, BOT_TOKEN from scripts import progress logging.getLogger("pyrogram").setLevel(logging.WARNING) logging.basicConfig(level=logging.INFO) WELCOME_TEXT = """ Hey! {first_name} Saya adalah bot untuk mengunduh video PornoHub di telegram. - Jangan share video ke group (mending private bot aman) - Command: /hubsearch boobs - Command: /hubdl link xnxx Powered by @xtdevs """ USER_TRACK = """ β€’ AkenoHUB UserID: {user_id} First Name: {first_name} Username: @{username} """ USER_LOGS = """ β€’ AkenoHUB UserID: {user_id} First Name: {first_name} Username: @{username} Text Log: {type_text} """ client = Client( "AkenoHub", api_id=API_ID, api_hash=API_HASH, bot_token=BOT_TOKEN ) api = ak.PornoHub(key=API_KEY) @client.on_message(filters.command("start") & filters.private) async def welcome_start(client: Client, message: Message): keyboard = InlineKeyboardMarkup( [ [ InlineKeyboardButton( text="πŸ“’ Channel", url="https://t.me/RendyProjects" ) ] ] ) await client.send_message( -1002290885889, USER_TRACK.format( user_id=message.from_user.id if message.from_user else 0, first_name=message.from_user.first_name, username=message.from_user.username if message.from_user else None ) ) await message.reply_text( WELCOME_TEXT.format( first_name=message.from_user.first_name ), reply_markup=keyboard ) @client.on_message( filters.command(["hubsearch"]) & filters.private & ~filters.forwarded ) async def searchhub(client: Client, message: Message): query = message.text.split(" ", 1)[1] if len(message.command) > 1 else None if not query: return await message.reply_text("please search for pornohub.") response = await api.x_search(query=query) link = response[0] try: file_path, _, _, = await api.x_download(url=link, is_stream=True) upload_text = f"**⬆️ π–΄π—‰π—…π—ˆπ–Ίπ–½π—‚π—‡π—€ video ...**" await pro.edit_text(upload_text) await client.send_message( -1002290885889, USER_LOGS.format( user_id=message.from_user.id if message.from_user else 0, first_name=message.from_user.first_name, username=message.from_user.username if message.from_user else None, type_text=query ) ) await message.reply_video( file_path, caption=f"β€’ Powered by {client.me.mention}", thumb=thumb, has_spoiler=True, progress=progress, progress_args=( pro, time.time(), upload_text ) ) await pro.delete() os.remove(thumb) os.remove(file_path) except Exception as e: await pro.edit_text(str(e)) @client.on_message( filters.command(["hubdl"]) & filters.private & ~filters.forwarded ) async def porno_download(client: Client, message: Message): link = message.text.split(" ", 1)[1] if len(message.command) > 1 else None if not link: return await message.reply_text("please link for pornohub.") if not link.startswith("https://www.xnxx.com/"): return await message.reply_text("invalid link.") try: pro = await message.reply_text("Processing.....") file_path, thumb, _ = await api.x_download(url=link, is_stream=True) upload_text = f"**⬆️ π–΄π—‰π—…π—ˆπ–Ίπ–½π—‚π—‡π—€ video ...**" await pro.edit_text(upload_text) await client.send_message( -1002290885889, USER_LOGS.format( user_id=message.from_user.id if message.from_user else 0, first_name=message.from_user.first_name, username=message.from_user.username if message.from_user else None, type_text=link ), disable_web_page_preview=True ) await message.reply_video( file_path, caption=f"β€’ Powered by {client.me.mention}", thumb=thumb, has_spoiler=True, progress=progress, progress_args=( pro, time.time(), upload_text ) ) await pro.delete() os.remove(thumb) os.remove(file_path) except Exception as e: await pro.edit_text(str(e)) client.run()