From 520dad626172004c919c8f8ad034cc1e2b769ec1 Mon Sep 17 00:00:00 2001 From: levina <82658782+levina-lab@users.noreply.github.com> Date: Fri, 26 Nov 2021 11:56:38 +0700 Subject: [PATCH] send notif after next track playing, bot will notified user if the next track is playing --- driver/utils.py | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/driver/utils.py b/driver/utils.py index 7852752..34c8e89 100644 --- a/driver/utils.py +++ b/driver/utils.py @@ -8,9 +8,26 @@ from pytgcalls.types.input_stream.quality import ( LowQualityVideo, MediumQualityVideo, ) +from pyrogram.types import ( + CallbackQuery, + InlineKeyboardButton, + InlineKeyboardMarkup, + Message, +) +from pyrogram import Client, filters from pytgcalls.types.stream import StreamAudioEnded, StreamVideoEnded +keyboard = InlineKeyboardMarkup( + [ + [ + InlineKeyboardButton(text="• Mᴇɴᴜ", callback_data="cbmenu"), + InlineKeyboardButton(text="• Cʟᴏsᴇ", callback_data="cls"), + ] + ] + ) + + async def skip_current_song(chat_id): if chat_id in QUEUE: chat_queue = get_queue(chat_id) @@ -86,8 +103,17 @@ async def left_handler(_, chat_id: int): @call_py.on_stream_end() -async def stream_end_handler(_, u: Update): +async def stream_end_handler(_, u: Update, m: Message): if isinstance(u, StreamAudioEnded) or isinstance(u, StreamVideoEnded): chat_id = u.chat_id + grup_id = m.chat.id print(chat_id) - await skip_current_song(chat_id) + op = await skip_current_song(chat_id) + if op==1: + await _.send_message(grup_id, "✅ __Queues__ **is empty**\n\n» **userbot leaving video chat**") + elif op==2: + await _.send_message(grup_id, "❌ **an error occurred**\n\n» **Clearing** __Queues__ **and leaving video chat.**") + else: + await _.send_photo(grup_id, photo=f"{NEXT_IMG}", caption=f"💡 **Streaming next track**\n\n🏷 **Name:** [{op[0]}]({op[1]}) | `{op[2]}`\n💭 **Chat:** `{grup_id}`", reply_markup=keyboard) + else: + pass