taslim19
MusicV2
a8e9b84
raw
history blame
2.58 kB
import asyncio
from datetime import datetime
from pyrogram.enums import ChatType
import config
from DragMusic import app
from DragMusic.core.call import Drag, autoend
from DragMusic.utils.database import get_client, is_active_chat, is_autoend
async def auto_leave():
if config.AUTO_LEAVING_ASSISTANT:
while not await asyncio.sleep(900):
from DragMusic.core.userbot import assistants
for num in assistants:
client = await get_client(num)
left = 0
try:
async for i in client.get_dialogs():
if i.chat.type in [
ChatType.SUPERGROUP,
ChatType.GROUP,
ChatType.CHANNEL,
]:
if (
i.chat.id != config.LOGGER_ID
and i.chat.id != -1001686672798
and i.chat.id != -1001549206010
):
if left == 20:
continue
if not await is_active_chat(i.chat.id):
try:
await client.leave_chat(i.chat.id)
left += 1
except:
continue
except:
pass
asyncio.create_task(auto_leave())
async def auto_end():
while not await asyncio.sleep(5):
ender = await is_autoend()
if not ender:
continue
for chat_id in autoend:
timer = autoend.get(chat_id)
if not timer:
continue
if datetime.now() > timer:
if not await is_active_chat(chat_id):
autoend[chat_id] = {}
continue
autoend[chat_id] = {}
try:
await Drag.stop_stream(chat_id)
except:
continue
try:
await app.send_message(
chat_id,
"» ʙᴏᴛ ᴀᴜᴛᴏᴍᴀᴛɪᴄᴀʟʟʏ ʟᴇғᴛ ᴠɪᴅᴇᴏᴄʜᴀᴛ ʙᴇᴄᴀᴜsᴇ ɴᴏ ᴏɴᴇ ᴡᴀs ʟɪsᴛᴇɴɪɴɢ ᴏɴ ᴠɪᴅᴇᴏᴄʜᴀᴛ.",
)
except:
continue
asyncio.create_task(auto_end())