prepare
This commit is contained in:
parent
2cbe8c9a7a
commit
386f5097e7
77
driver/utils.py
Normal file
77
driver/utils.py
Normal file
@ -0,0 +1,77 @@
|
||||
from pyrogram import Client
|
||||
from pytgcalls import StreamType
|
||||
from pyrogram.raw.base import Update
|
||||
from driver.veez import call_py, bot
|
||||
from pytgcalls.types.stream import StreamAudioEnded
|
||||
from pytgcalls.types.input_stream.quality import HighQualityAudio
|
||||
from pytgcalls.types.input_stream import AudioPiped, AudioVideoPiped
|
||||
from driver.queues import QUEUE, get_queue, pop_an_item, clear_queue
|
||||
from pytgcalls.types.input_stream.quality import HighQualityVideo, MediumQualityVideo, LowQualityVideo
|
||||
|
||||
async def skip_current_song(chat_id):
|
||||
if chat_id in QUEUE:
|
||||
chat_queue = get_queue(chat_id)
|
||||
if len(chat_queue)==1:
|
||||
await call_py.leave_group_call(chat_id)
|
||||
clear_queue(chat_id)
|
||||
return 1
|
||||
else:
|
||||
songname = chat_queue[1][0]
|
||||
url = chat_queue[1][1]
|
||||
link = chat_queue[1][2]
|
||||
type = chat_queue[1][3]
|
||||
Q = chat_queue[1][4]
|
||||
if type=="Audio":
|
||||
await call_py.change_stream(
|
||||
chat_id,
|
||||
AudioPiped(
|
||||
url,
|
||||
)
|
||||
)
|
||||
elif type=="Video":
|
||||
if Q==720:
|
||||
hm = HighQualityVideo()
|
||||
elif Q==480:
|
||||
hm = MediumQualityVideo()
|
||||
elif Q==360:
|
||||
hm = LowQualityVideo()
|
||||
await call_py.change_stream(
|
||||
chat_id,
|
||||
AudioVideoPiped(
|
||||
url,
|
||||
HighQualityAudio(),
|
||||
hm
|
||||
)
|
||||
)
|
||||
pop_an_item(chat_id)
|
||||
return [songname, link, type]
|
||||
else:
|
||||
return 0
|
||||
|
||||
async def skip_item(chat_id, h):
|
||||
if chat_id in QUEUE:
|
||||
chat_queue = get_queue(chat_id)
|
||||
try:
|
||||
x = int(h)
|
||||
songname = chat_queue[x][0]
|
||||
chat_queue.pop(x)
|
||||
return songname
|
||||
except Exception as e:
|
||||
print(e)
|
||||
return 0
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
@call_py.on_stream_end()
|
||||
async def on_end_handler(client, update: Update):
|
||||
if isinstance(update, StreamAudioEnded):
|
||||
chat_id = update.chat_id
|
||||
print(chat_id)
|
||||
op = await skip_current_song(chat_id)
|
||||
if op==1:
|
||||
await bot.send_message(chat_id, "❌ no more music in __Queues__\n\n» userbot leaving voice chat")
|
||||
else:
|
||||
await bot.send_message(chat_id, f"**💡 now playing:**\n\n[{op[0]}]({op[1]}) | `{op[2]}`", disable_web_page_preview=True)
|
||||
else:
|
||||
pass
|
Loading…
Reference in New Issue
Block a user