diff --git a/program/admins.py b/program/admins.py index c16faa9..78b33bd 100644 --- a/program/admins.py +++ b/program/admins.py @@ -1,11 +1,13 @@ from cache.admins import admins from driver.veez import call_py from pyrogram import Client, filters -from driver.decorators import authorized_users_only -from driver.filters import command, other_filters from driver.queues import QUEUE, clear_queue +from driver.filters import command, other_filters +from driver.decorators import authorized_users_only from driver.utils import skip_current_song, skip_item +from program.utils.inline import stream_markup, close_mark, back_mark from config import BOT_USERNAME, GROUP_SUPPORT, IMG_3, UPDATES_CHANNEL + from pyrogram.types import ( CallbackQuery, InlineKeyboardButton, @@ -14,16 +16,6 @@ from pyrogram.types import ( ) -bttn = InlineKeyboardMarkup( - [[InlineKeyboardButton("๐Ÿ”™ Go Back", callback_data="cbmenu")]] -) - - -bcl = InlineKeyboardMarkup( - [[InlineKeyboardButton("๐Ÿ—‘ Close", callback_data="cls")]] -) - - @Client.on_message(command(["reload", f"reload@{BOT_USERNAME}"]) & other_filters) @authorized_users_only async def update_admin(client, message): @@ -41,20 +33,8 @@ async def update_admin(client, message): @Client.on_message(command(["skip", f"skip@{BOT_USERNAME}", "vskip"]) & other_filters) @authorized_users_only async def skip(client, m: Message): - - keyboard = InlineKeyboardMarkup( - [ - [ - InlineKeyboardButton( - text="โ€ข Mแด‡ษดแดœ", callback_data="cbmenu" - ), - InlineKeyboardButton( - text="โ€ข CสŸแดsแด‡", callback_data="cls" - ), - ] - ] - ) - + await m.delete() + user_id = m.from_user.id chat_id = m.chat.id if len(m.command) < 2: op = await skip_current_song(chat_id) @@ -65,10 +45,12 @@ async def skip(client, m: Message): elif op == 2: await m.reply("๐Ÿ—‘๏ธ **Clearing the Queues**\n\n**โ€ข userbot leaving voice chat**") else: - await m.reply_photo( + buttons = stream_markup(user_id) + await m.send_photo( + chat_id, photo=f"{IMG_3}", + reply_markup=InlineKeyboardMarkup(buttons), caption=f"โญ **Skipped to the next track.**\n\n๐Ÿท **Name:** [{op[0]}]({op[1]})\n๐Ÿ’ญ **Chat:** `{chat_id}`\n๐Ÿ’ก **Status:** `Playing`\n๐ŸŽง **Request by:** {m.from_user.mention()}", - reply_markup=keyboard, ) else: skip = m.text.split(None, 1)[1] @@ -180,99 +162,89 @@ async def unmute(client, m: Message): @Client.on_callback_query(filters.regex("cbpause")) async def cbpause(_, query: CallbackQuery): - if query.message.sender_chat: - return await query.answer("you're an Anonymous Admin !\n\nยป revert back to user account from admin rights.") a = await _.get_chat_member(query.message.chat.id, query.from_user.id) if not a.can_manage_voice_chats: - return await query.answer("๐Ÿ’ก only admin with manage voice chats permission that can tap this button !", show_alert=True) + return await query.answer("๐Ÿ’ก Only admin with manage video chat permission that can tap this button !", show_alert=True) chat_id = query.message.chat.id if chat_id in QUEUE: try: await call_py.pause_stream(chat_id) await query.edit_message_text( - "โธ the streaming has paused", reply_markup=bttn + "โธ the streaming has paused", reply_markup=back_mark ) except Exception as e: - await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=bcl) + await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=close_mark) else: await query.answer("โŒ nothing is currently streaming", show_alert=True) @Client.on_callback_query(filters.regex("cbresume")) async def cbresume(_, query: CallbackQuery): - if query.message.sender_chat: - return await query.answer("you're an Anonymous Admin !\n\nยป revert back to user account from admin rights.") a = await _.get_chat_member(query.message.chat.id, query.from_user.id) if not a.can_manage_voice_chats: - return await query.answer("๐Ÿ’ก only admin with manage voice chats permission that can tap this button !", show_alert=True) + return await query.answer("๐Ÿ’ก Only admin with manage video chat permission that can tap this button !", show_alert=True) chat_id = query.message.chat.id if chat_id in QUEUE: try: await call_py.resume_stream(chat_id) await query.edit_message_text( - "โ–ถ๏ธ the streaming has resumed", reply_markup=bttn + "โ–ถ๏ธ the streaming has resumed", reply_markup=back_mark ) except Exception as e: - await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=bcl) + await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=close_mark) else: await query.answer("โŒ nothing is currently streaming", show_alert=True) @Client.on_callback_query(filters.regex("cbstop")) async def cbstop(_, query: CallbackQuery): - if query.message.sender_chat: - return await query.answer("you're an Anonymous Admin !\n\nยป revert back to user account from admin rights.") a = await _.get_chat_member(query.message.chat.id, query.from_user.id) if not a.can_manage_voice_chats: - return await query.answer("๐Ÿ’ก only admin with manage voice chats permission that can tap this button !", show_alert=True) + return await query.answer("๐Ÿ’ก Only admin with manage video chat permission that can tap this button !", show_alert=True) chat_id = query.message.chat.id if chat_id in QUEUE: try: await call_py.leave_group_call(chat_id) clear_queue(chat_id) - await query.edit_message_text("โœ… **this streaming has ended**", reply_markup=bcl) + await query.edit_message_text("โœ… **this streaming has ended**", reply_markup=close_mark) except Exception as e: - await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=bcl) + await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=close_mark) else: await query.answer("โŒ nothing is currently streaming", show_alert=True) @Client.on_callback_query(filters.regex("cbmute")) async def cbmute(_, query: CallbackQuery): - if query.message.sender_chat: - return await query.answer("you're an Anonymous Admin !\n\nยป revert back to user account from admin rights.") a = await _.get_chat_member(query.message.chat.id, query.from_user.id) if not a.can_manage_voice_chats: - return await query.answer("๐Ÿ’ก only admin with manage voice chats permission that can tap this button !", show_alert=True) + return await query.answer("๐Ÿ’ก Only admin with manage video chat permission that can tap this button !", show_alert=True) chat_id = query.message.chat.id if chat_id in QUEUE: try: await call_py.mute_stream(chat_id) await query.edit_message_text( - "๐Ÿ”‡ userbot succesfully muted", reply_markup=bttn + "๐Ÿ”‡ userbot succesfully muted", reply_markup=back_mark ) except Exception as e: - await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=bcl) + await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=close_mark) else: await query.answer("โŒ nothing is currently streaming", show_alert=True) @Client.on_callback_query(filters.regex("cbunmute")) async def cbunmute(_, query: CallbackQuery): - if query.message.sender_chat: - return await query.answer("you're an Anonymous Admin !\n\nยป revert back to user account from admin rights.") a = await _.get_chat_member(query.message.chat.id, query.from_user.id) if not a.can_manage_voice_chats: - return await query.answer("๐Ÿ’ก only admin with manage voice chats permission that can tap this button !", show_alert=True) + return await query.answer("๐Ÿ’ก Only admin with manage video chat permission that can tap this button !", show_alert=True) chat_id = query.message.chat.id if chat_id in QUEUE: try: await call_py.unmute_stream(chat_id) await query.edit_message_text( - "๐Ÿ”Š userbot succesfully unmuted", reply_markup=bttn + "๐Ÿ”Š userbot succesfully unmuted", reply_markup=back_mark ) except Exception as e: - await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=bcl) + await query.edit_message_text(f"๐Ÿšซ **error:**\n\n`{e}`", reply_markup=close_mark) else: await query.answer("โŒ nothing is currently streaming", show_alert=True)