# © @AvishkarPatil [ Telegram ] from WebStreamer.bot import StreamBot from WebStreamer.vars import Var from WebStreamer.utils.human_readable import humanbytes from WebStreamer.utils.database import Database from pyrogram import filters from pyrogram.types import InlineKeyboardMarkup, InlineKeyboardButton from pyrogram.errors import UserNotParticipant db = Database(Var.DATABASE_URL, Var.SESSION_NAME) @StreamBot.on_message(filters.command('start') & filters.private & ~filters.edited) async def start(b, m): if not await db.is_user_exist(m.from_user.id): await db.add_user(m.from_user.id) await b.send_message( Var.BIN_CHANNEL, f"Nᴇᴡ Usᴇʀ Jᴏɪɴᴇᴅ: \n\nMʏ Nᴇᴡ Fʀɪᴇɴᴅ [{m.from_user.first_name}](tg://user?id={m.from_user.id}) Sᴛᴀʀᴛᴇᴅ Yᴏᴜʀ Bᴏᴛ !!" ) usr_cmd = m.text.split("_")[-1] if usr_cmd == "/start": if Var.UPDATES_CHANNEL != "None": try: user = await b.get_chat_member(Var.UPDATES_CHANNEL, m.chat.id) if user.status == "kicked": await b.send_message( chat_id=m.chat.id, text="__Sᴏʀʀʏ Sɪʀ, Yᴏᴜ ᴀʀᴇ Bᴀɴɴᴇᴅ ᴛᴏ ᴜsᴇ ᴍᴇ. Cᴏɴᴛᴀᴄᴛ ᴛʜᴇ Dᴇᴠᴇʟᴏᴘᴇʀ__\n\n @AvishkarPatil **Tʜᴇʏ Wɪʟʟ Hᴇʟᴘ Yᴏᴜ**", parse_mode="markdown", disable_web_page_preview=True ) return except UserNotParticipant: await b.send_message( chat_id=m.chat.id, text="Jᴏɪɴ ᴍʏ ᴜᴘᴅᴀᴛᴇ ᴄʜᴀɴɴᴇʟ ᴛᴏ ᴜsᴇ ᴍᴇ 🔐", reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton("Jᴏɪɴ ɴᴏᴡ 🔓", url=f"https://t.me/{Var.UPDATES_CHANNEL}") ] ] ), parse_mode="HTML" ) return except Exception: await b.send_message( chat_id=m.chat.id, text="Sᴏᴍᴇᴛʜɪɴɢ ᴡʀᴏɴɢ ᴄᴏɴᴛᴀᴄᴛ ᴍʏ ᴅᴇᴠᴇʟᴏᴘᴇʀ [ ᴄʟɪᴄᴋ ʜᴇʀᴇ ]", parse_mode="HTML", disable_web_page_preview=True) return await m.reply_text( text=""" 👋 Hᴇʏ, ʜɪꜱ ɪꜱ ꜰɪʟᴇ ᴛᴏ ʟɪɴᴋ ɢᴇɴ ʙᴏᴛ\n Cʟɪᴄᴋ ᴏɴ /help ᴛᴏ ɢᴇᴛ ᴍᴏʀᴇ ɪɴғᴏʀᴍᴀᴛɪᴏɴ\n 🍃 Bᴏᴛ Mᴀɪɴᴛᴀɪɴᴇᴅ Bʏ :@AvishkarPatil\n\n 𝗪𝗔𝗥𝗡𝗜𝗡𝗚 🚸\n 🔞 Pʀᴏɴ ᴄᴏɴᴛᴇɴᴛꜱ ʟᴇᴀᴅꜱ ᴛᴏ ᴘᴇʀᴍᴀɴᴇɴᴛ ʙᴀɴ ʏᴏᴜ.""", parse_mode="HTML", disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [ [InlineKeyboardButton('CREATOR 🍂', url='https://t.me/Avishkarpatil'), InlineKeyboardButton('FOLLOW 🍺', url='https://Instagram.com/proavipatil') ] ] ) ) else: if Var.UPDATES_CHANNEL != "None": try: user = await b.get_chat_member(Var.UPDATES_CHANNEL, m.chat.id) if user.status == "kicked": await b.send_message( chat_id=m.chat.id, text="Sᴏʀʀʏ Sɪʀ, Yᴏᴜ ᴀʀᴇ Bᴀɴɴᴇᴅ ᴛᴏ ᴜsᴇ ᴍᴇ. Qᴜɪᴄᴋʟʏ ᴄᴏɴᴛᴀᴄᴛ @Avishkarpatil", parse_mode="markdown", disable_web_page_preview=True ) return except UserNotParticipant: await b.send_message( chat_id=m.chat.id, text="**Pʟᴇᴀsᴇ Jᴏɪɴ Mʏ Uᴘᴅᴀᴛᴇs Cʜᴀɴɴᴇʟ ᴛᴏ ᴜsᴇ ᴛʜɪs Bᴏᴛ**!\n\n**Dᴜᴇ ᴛᴏ Oᴠᴇʀʟᴏᴀᴅ, Oɴʟʏ Cʜᴀɴɴᴇʟ Sᴜʙsᴄʀɪʙᴇʀs ᴄᴀɴ ᴜsᴇ ᴛʜᴇ Bᴏᴛ**!", reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton("🤖 Join Updates Channel", url=f"https://t.me/{Var.UPDATES_CHANNEL}") ], [ InlineKeyboardButton("🔄 Refresh / Try Again", url=f"https://t.me/F2LxBot.herokuapp.com/{usr_cmd}") # Chnage ur app name ] ] ), parse_mode="markdown" ) return except Exception: await b.send_message( chat_id=m.chat.id, text="**Sᴏᴍᴇᴛʜɪɴɢ ᴡᴇɴᴛ Wʀᴏɴɢ. Cᴏɴᴛᴀᴄᴛ ᴍᴇ** [Aᴠɪsʜᴋᴀʀ Pᴀᴛɪʟ](https://t.me/Avishkarpatil).", parse_mode="markdown", disable_web_page_preview=True) return get_msg = await b.get_messages(chat_id=Var.BIN_CHANNEL, message_ids=int(usr_cmd)) file_size = None if get_msg.video: file_size = f"{humanbytes(get_msg.video.file_size)}" elif get_msg.document: file_size = f"{humanbytes(get_msg.document.file_size)}" elif get_msg.audio: file_size = f"{humanbytes(get_msg.audio.file_size)}" file_name = None if get_msg.video: file_name = f"{get_msg.video.file_name}" elif get_msg.document: file_name = f"{get_msg.document.file_name}" elif get_msg.audio: file_name = f"{get_msg.audio.file_name}" stream_link = "https://{}/{}".format(Var.FQDN, get_msg.message_id) if Var.ON_HEROKU or Var.NO_PORT else \ "http://{}:{}/{}".format(Var.FQDN, Var.PORT, get_msg.message_id) msg_text =""" 𝗬𝗼𝘂𝗿 𝗟𝗶𝗻𝗸 𝗚𝗲𝗻𝗲𝗿𝗮𝘁𝗲𝗱 ! 📂 Fɪʟᴇ ɴᴀᴍᴇ : {} 📦 Fɪʟᴇ ꜱɪᴢᴇ : {} 📥 Dᴏᴡɴʟᴏᴀᴅ : {} 🚸 Nᴏᴛᴇ : Lɪɴᴋ ᴇxᴘɪʀᴇᴅ ɪɴ 24 ʜᴏᴜʀꜱ 🍃 Bᴏᴛ Mᴀɪɴᴛᴀɪɴᴇᴅ Bʏ : @AvishkarPatil """ await m.reply_text( text=msg_text.format(file_name, file_size, stream_link), parse_mode="HTML", reply_markup=InlineKeyboardMarkup([[InlineKeyboardButton("Dᴏᴡɴʟᴏᴀᴅ ɴᴏᴡ 📥", url=stream_link)]]) ) @StreamBot.on_message(filters.command('help') & filters.private & ~filters.edited) async def help_handler(bot, message): if not await db.is_user_exist(message.from_user.id): await db.add_user(message.from_user.id) await bot.send_message( Var.BIN_CHANNEL, f"Nᴇᴡ Usᴇʀ Jᴏɪɴᴇᴅ \n\nMʏ Nᴇᴡ Fʀɪᴇɴᴅ [{message.from_user.first_name}](tg://user?id={message.from_user.id}) Started Your Bot !!" ) if Var.UPDATES_CHANNEL is not None: try: user = await bot.get_chat_member(Var.UPDATES_CHANNEL, message.chat.id) if user.status == "kicked": await bot.send_message( chat_id=message.chat.id, text="Sᴏʀʀʏ Sɪʀ, Yᴏᴜ ᴀʀᴇ Bᴀɴɴᴇᴅ ᴛᴏ ᴜsᴇ ᴍᴇ. Cᴏɴᴛᴀᴄᴛ ᴛʜᴇ Dᴇᴠᴇʟᴏᴘᴇʀ", parse_mode="HTML", disable_web_page_preview=True ) return except UserNotParticipant: await bot.send_message( chat_id=message.chat.id, text="**Pʟᴇᴀsᴇ Jᴏɪɴ Mʏ Uᴘᴅᴀᴛᴇs Cʜᴀɴɴᴇʟ ᴛᴏ ᴜsᴇ ᴛʜɪs Bᴏᴛ!**\n\n__Dᴜᴇ ᴛᴏ Oᴠᴇʀʟᴏᴀᴅ, Oɴʟʏ Cʜᴀɴɴᴇʟ Sᴜʙsᴄʀɪʙᴇʀs ᴄᴀɴ ᴜsᴇ ᴛʜᴇ Bᴏᴛ!__", reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton("🤖 Jᴏɪɴ Uᴘᴅᴀᴛᴇs Cʜᴀɴɴᴇʟ", url=f"https://t.me/{Var.UPDATES_CHANNEL}") ] ] ), parse_mode="markdown" ) return except Exception: await bot.send_message( chat_id=message.chat.id, text="__Sᴏᴍᴇᴛʜɪɴɢ ᴡᴇɴᴛ Wʀᴏɴɢ. Cᴏɴᴛᴀᴄᴛ ᴍᴇ__ [Aᴠɪsʜᴋᴀʀ Pᴀᴛɪʟ](https://t.me/Avishkarpatil).", parse_mode="markdown", disable_web_page_preview=True) return await message.reply_text( text=""" Sᴇɴᴅ ᴍᴇ ᴀɴʏ ꜰɪʟᴇ (ᴏʀ) ᴍᴇᴅɪᴀ ꜰʀᴏᴍ ᴛᴇʟᴇɢʀᴀᴍ.\n I ᴡɪʟʟ ᴘʀᴏᴠɪᴅᴇ ᴇxᴛᴇʀɴᴀʟ ᴅɪʀᴇᴄᴛ ᴅᴏᴡɴʟᴏᴀᴅ ʟɪɴᴋ !.\n 𝗪𝗔𝗥𝗡𝗜𝗡𝗚 🚸\n Pʀᴏɴ ᴄᴏɴᴛᴇɴᴛꜱ ʟᴇᴀᴅꜱ ᴛᴏ ᴘᴇʀᴍᴀɴᴇɴᴛ ʙᴀɴ ʏᴏᴜ.\n Cᴏɴᴛᴀᴄᴛ ᴅᴇᴠᴇʟᴏᴘᴇʀ (ᴏʀ) ʀᴇᴘᴏʀᴛ ʙᴜɢꜱ : [ ᴄʟɪᴄᴋ ʜᴇʀᴇ ]""", parse_mode="HTML", disable_web_page_preview=True, reply_markup=InlineKeyboardMarkup( [ [InlineKeyboardButton("🏵 DEV", url="https://GitHub.com/avipatilpro")], [InlineKeyboardButton("🍺 FOLLOW", url="https://Instagram.com/proavipatil")] ] ) )