video-stream/driver/utils.py

76 lines
2.2 KiB
Python
Raw Normal View History

2021-10-26 08:59:28 +00:00
from pyrogram import Client
2021-10-26 12:56:29 +00:00
from driver.veez import call_py
2021-10-28 15:16:30 +00:00
from pytgcalls import PyTgCalls
2021-10-26 08:59:28 +00:00
from pytgcalls import StreamType
2021-10-28 11:35:05 +00:00
from pyrogram.types import Message
2021-10-28 15:16:30 +00:00
from pytgcalls.types import Update
2021-10-26 08:59:28 +00:00
from pyrogram.raw.base import Update
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
2021-10-28 15:16:30 +00:00
from pytgcalls.types.stream import StreamAudioEnded, StreamVideoEnded
2021-10-26 08:59:28 +00:00
from pytgcalls.types.input_stream.quality import HighQualityVideo, MediumQualityVideo, LowQualityVideo
2021-10-28 15:16:30 +00:00
2021-10-26 08:59:28 +00:00
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()
2021-10-28 15:16:30 +00:00
async def on_end_handler(client: PyTgCalls, update: Update):
if isinstance(update, StreamAudioEnded) or isinstance(update, StreamVideoEnded):
2021-10-26 08:59:28 +00:00
chat_id = update.chat_id
print(chat_id)
2021-10-28 15:42:52 +00:00
await skip_current_song(chat_id)