File size: 2,575 Bytes
a8e9b84 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
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())
|