# Copyright (C) 2021 By VeezMusicProject from pyrogram import Client, filters from pyrogram.types import CallbackQuery, InlineKeyboardButton, InlineKeyboardMarkup from config import ( ASSISTANT_NAME, BOT_NAME, BOT_USERNAME, GROUP_SUPPORT, OWNER_NAME, UPDATES_CHANNEL, ) @Client.on_callback_query(filters.regex("cbstart")) async def cbstart(_, query: CallbackQuery): await query.edit_message_text( f"""✨ **Welcome [{query.message.chat.first_name}](tg://user?id={query.message.chat.id}) !**\n 💭 **[{BOT_NAME}](https://t.me/{BOT_USERNAME}) allows you to play music and video on groups through the new Telegram's video chats!** 💡 **Find out all the Bot's commands and how they work by clicking on the » 📚 Commands button!** 🔖 **To know how to use this bot, please click on the » ❓ Basic Guide button!**""", reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton( "➕ Add me to your Group ➕", url=f"https://t.me/{BOT_USERNAME}?startgroup=true", ) ], [InlineKeyboardButton("❓ Basic Guide", callback_data="cbhowtouse")], [ InlineKeyboardButton("📚 Commands", callback_data="cbcmds"), InlineKeyboardButton("❤ Donate", url=f"https://t.me/{OWNER_NAME}"), ], [ InlineKeyboardButton( "👥 Official Group", url=f"https://t.me/{GROUP_SUPPORT}" ), InlineKeyboardButton( "📣 Official Channel", url=f"https://t.me/{UPDATES_CHANNEL}" ), ], [ InlineKeyboardButton( "🌐 Source Code", url="https://github.com/levina-lab/video-stream" ) ], ] ), disable_web_page_preview=True, ) @Client.on_callback_query(filters.regex("cbhowtouse")) async def cbguides(_, query: CallbackQuery): await query.edit_message_text( f"""❓ **Basic Guide for using this bot:** 1.) **First, add me to your group.** 2.) **Then, promote me as administrator and give all permissions except Anonymous Admin.** 3.) **After promoting me, type /reload in group to refresh the admin data.** 3.) **Add @{ASSISTANT_NAME} to your group or type /userbotjoin to invite her.** 4.) **Turn on the video chat first before start to play video/music.** 5.) **Sometimes, reloading the bot by using /reload command can help you to fix some problem.** 📌 **If the userbot not joined to video chat, make sure if the video chat already turned on, or type /userbotleave then type /userbotjoin again.** 💡 **If you have a follow-up questions about this bot, you can tell it on my support chat here: @{GROUP_SUPPORT}** ⚡ __Powered by {BOT_NAME} A.I__""", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton("🔙 Go Back", callback_data="cbstart")]] ), ) @Client.on_callback_query(filters.regex("cbcmds")) async def cbcmds(_, query: CallbackQuery): await query.edit_message_text( f"""✨ **Hello [{query.message.chat.first_name}](tg://user?id={query.message.chat.id}) !** » **press the button below to read the explanation and see the list of available commands !** ⚡ __Powered by {BOT_NAME} A.I__""", reply_markup=InlineKeyboardMarkup( [ [ InlineKeyboardButton("👷🏻 Admin Cmd", callback_data="cbadmin"), InlineKeyboardButton("🧙🏻 Sudo Cmd", callback_data="cbsudo"), ],[ InlineKeyboardButton("📚 Basic Cmd", callback_data="cbbasic") ],[ InlineKeyboardButton("🔙 Go Back", callback_data="cbstart") ], ] ), ) @Client.on_callback_query(filters.regex("cbbasic")) async def cbbasic(_, query: CallbackQuery): await query.edit_message_text( f"""🏮 here is the basic commands: » /play (song name/link) - play music on video chat » /stream (query/link) - stream the yt live/radio live music » /vplay (video name/link) - play video on video chat » /vstream - play live video from yt live » /playlist - show you the playlist » /video (query) - download video from youtube » /song (query) - download song from youtube » /lyric (query) - scrap the song lyric » /search (query) - search a youtube video link » /ping - show the bot ping status » /uptime - show the bot uptime status » /alive - show the bot alive info (in group) ⚡️ __Powered by {BOT_NAME} AI__""", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton("🔙 Go Back", callback_data="cbcmds")]] ), ) @Client.on_callback_query(filters.regex("cbadmin")) async def cbadmin(_, query: CallbackQuery): await query.edit_message_text( f"""🏮 here is the admin commands: » /pause - pause the stream » /resume - resume the stream » /skip - switch to next stream » /stop - stop the streaming » /vmute - mute the userbot on voice chat » /vunmute - unmute the userbot on voice chat » /reload - reload bot and refresh the admin data » /userbotjoin - invite the userbot to join group » /userbotleave - order userbot to leave from group ⚡️ __Powered by {BOT_NAME} AI__""", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton("🔙 Go Back", callback_data="cbcmds")]] ), ) @Client.on_callback_query(filters.regex("cbsudo")) async def cbsudo(_, query: CallbackQuery): await query.edit_message_text( f"""🏮 here is the sudo commands: » /rmw - clean all raw files » /rmd - clean all downloaded files » /leaveall - order userbot to leave from all group ⚡ __Powered by {BOT_NAME} AI__""", reply_markup=InlineKeyboardMarkup( [[InlineKeyboardButton("🔙 Go Back", callback_data="cbcmds")]] ), ) @Client.on_callback_query(filters.regex("cbmenu")) async def cbmenu(_, query: CallbackQuery): 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 can tap this button !") await query.edit_message_text( "⚙️ **opened control menu panel**", reply_markup=InlineKeyboardMarkup( [[ InlineKeyboardButton("⏸ pause", callback_data="cbpause"), InlineKeyboardButton("▶️ resume", callback_data="cbresume"), ],[ InlineKeyboardButton("🔇 mute", callback_data="cbmute"), InlineKeyboardButton("🔊 unmute", callback_data="cbunmute"), ],[ InlineKeyboardButton("⏹ stop stream", callback_data="cbstop"), ],[ InlineKeyboardButton("🗑 Close", callback_data="cls")], ] ), ) @Client.on_callback_query(filters.regex("cls")) async def close(_, query: CallbackQuery): 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 can tap this button !") await query.message.delete()