diff --git a/program/admins.py b/program/admins.py index d8d57ab..1458ccb 100644 --- a/program/admins.py +++ b/program/admins.py @@ -1,12 +1,12 @@ from cache.admins import admins -from driver.filters import command, other_filters -from pyrogram import Client, filters -from driver.veez import call_py, bot -from driver.queues import QUEUE, clear_queue +from config import BOT_USERNAME, GROUP_SUPPORT, IMG_3, UPDATES_CHANNEL from driver.decorators import authorized_users_only +from driver.filters import command, other_filters +from driver.queues import QUEUE, clear_queue from driver.utils import skip_current_song, skip_item -from config import BOT_USERNAME, IMG_3, GROUP_SUPPORT, UPDATES_CHANNEL -from pyrogram.types import Message, InlineKeyboardButton, InlineKeyboardMarkup +from driver.veez import call_py +from pyrogram import Client +from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup, Message @Client.on_message(command(["reload", f"reload@{BOT_USERNAME}"]) & other_filters) @@ -26,89 +26,100 @@ 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( + + keyboard = InlineKeyboardMarkup( + [ [ - [ - InlineKeyboardButton( - text="✨ ɢʀᴏᴜᴘ", - url=f"https://t.me/{GROUP_SUPPORT}"), - InlineKeyboardButton( - text="🌻 ᴄʜᴀɴɴᴇʟ", - url=f"https://t.me/{UPDATES_CHANNEL}") - ] + InlineKeyboardButton( + text="✨ ɢʀᴏᴜᴘ", url=f"https://t.me/{GROUP_SUPPORT}" + ), + InlineKeyboardButton( + text="🌻 ᴄʜᴀɴɴᴇʟ", url=f"https://t.me/{UPDATES_CHANNEL}" + ), ] - ) - - chat_id = m.chat.id - if len(m.command) < 2: - op = await skip_current_song(chat_id) - if op==0: - await m.reply("❌ nothing is currently playing") - elif op==1: - await m.reply("✅ __Queues__ is empty.\n\n• userbot leaving voice chat") - else: - await m.reply_photo( - photo=f"{IMG_3}", - caption=f"⏭ **Skipped to the next track.**\n\n🏷 **Name:** [{op[0]}]({op[1]})\n💭 **Chat:** `{chat_id}`\n🎧 **Request by:** {m.from_user.mention()}", - reply_markup=keyboard, - ) - else: - skip = m.text.split(None, 1)[1] - OP = "🗑 **removed song from queue:**" - if chat_id in QUEUE: - items = [int(x) for x in skip.split(" ") if x.isdigit()] - items.sort(reverse=True) - for x in items: - if x==0: - pass - else: - hm = await skip_item(chat_id, x) - if hm==0: - pass - else: - OP = OP + "\n" + f"**#{x}** - {hm}" - await m.reply(OP) + ] + ) + + chat_id = m.chat.id + if len(m.command) < 2: + op = await skip_current_song(chat_id) + if op == 0: + await m.reply("❌ nothing is currently playing") + elif op == 1: + await m.reply("✅ __Queues__ is empty.\n\n• userbot leaving voice chat") + else: + await m.reply_photo( + photo=f"{IMG_3}", + caption=f"⏭ **Skipped to the next track.**\n\n🏷 **Name:** [{op[0]}]({op[1]})\n💭 **Chat:** `{chat_id}`\n🎧 **Request by:** {m.from_user.mention()}", + reply_markup=keyboard, + ) + else: + skip = m.text.split(None, 1)[1] + OP = "🗑 **removed song from queue:**" + if chat_id in QUEUE: + items = [int(x) for x in skip.split(" ") if x.isdigit()] + items.sort(reverse=True) + for x in items: + if x == 0: + pass + else: + hm = await skip_item(chat_id, x) + if hm == 0: + pass + else: + OP = OP + "\n" + f"**#{x}** - {hm}" + await m.reply(OP) -@Client.on_message(command(["stop", f"stop@{BOT_USERNAME}", "end", f"end@{BOT_USERNAME}", "vstop"]) & other_filters) +@Client.on_message( + command(["stop", f"stop@{BOT_USERNAME}", "end", f"end@{BOT_USERNAME}", "vstop"]) + & other_filters +) @authorized_users_only async def stop(client, m: Message): - chat_id = m.chat.id - if chat_id in QUEUE: - try: - await call_py.leave_group_call(chat_id) - clear_queue(chat_id) - await m.reply("✅ **streaming has ended.**") - except Exception as e: - await m.reply(f"🚫 **error:**\n\n`{e}`") - else: - await m.reply("❌ **nothing in streaming**") + chat_id = m.chat.id + if chat_id in QUEUE: + try: + await call_py.leave_group_call(chat_id) + clear_queue(chat_id) + await m.reply("✅ **streaming has ended.**") + except Exception as e: + await m.reply(f"🚫 **error:**\n\n`{e}`") + else: + await m.reply("❌ **nothing in streaming**") -@Client.on_message(command(["pause", f"pause@{BOT_USERNAME}", "vpause"]) & other_filters) +@Client.on_message( + command(["pause", f"pause@{BOT_USERNAME}", "vpause"]) & other_filters +) @authorized_users_only async def pause(client, m: Message): - chat_id = m.chat.id - if chat_id in QUEUE: - try: - await call_py.pause_stream(chat_id) - await m.reply("⏸ **Track paused.**\n\n• **To resume the stream, use the**\n» /resume command.") - except Exception as e: - await m.reply(f"🚫 **error:**\n\n`{e}`") - else: - await m.reply("❌ **nothing in streaming**") + chat_id = m.chat.id + if chat_id in QUEUE: + try: + await call_py.pause_stream(chat_id) + await m.reply( + "⏸ **Track paused.**\n\n• **To resume the stream, use the**\n» /resume command." + ) + except Exception as e: + await m.reply(f"🚫 **error:**\n\n`{e}`") + else: + await m.reply("❌ **nothing in streaming**") -@Client.on_message(command(["resume", f"resume@{BOT_USERNAME}", "vresume"]) & other_filters) +@Client.on_message( + command(["resume", f"resume@{BOT_USERNAME}", "vresume"]) & other_filters +) @authorized_users_only async def resume(client, m: Message): - chat_id = m.chat.id - if chat_id in QUEUE: - try: - await call_py.resume_stream(chat_id) - await m.reply("▶️ **Track resumed.**\n\n• **To pause the stream, use the**\n» /pause command.") - except Exception as e: - await m.reply(f"🚫 **error:**\n\n`{e}`") - else: - await m.reply("❌ **nothing in streaming**") + chat_id = m.chat.id + if chat_id in QUEUE: + try: + await call_py.resume_stream(chat_id) + await m.reply( + "▶️ **Track resumed.**\n\n• **To pause the stream, use the**\n» /pause command." + ) + except Exception as e: + await m.reply(f"🚫 **error:**\n\n`{e}`") + else: + await m.reply("❌ **nothing in streaming**")