import os
import sys
import requests
from pyrogram import Client, filters
from pyrogram.types import Message
from pyrogram.types import (InlineKeyboardButton)
from base import ADMINS, Bot, DEFAULT_QUALITIES
from base.utils.buttons import auto_inline_panel,main_panel
from base.utils.database import Database

@Bot.on_message(filters.private & filters.user(ADMINS) & filters.text, group=3)
async def change_file_name(_: Client, update: Message):
    text = update.text
    user_id = update.from_user.id
    with Database() as db:
        user_db = db.get_user(user_id, 'state')
    state = user_db[0][0]
    if state == 3:
        with Database() as db:
            user_db = db.get_user(user_id, 'package_id')
            package_id = user_db[0][0]
            media_task_db = db.get_media_task(package_id, 'package_id', 'id,message_id','AND file_name IS NULL LIMIT 1')
            task_id = media_task_db[0][0]
            message_id = media_task_db[0][1]
            db.update_media_task(task_id, 'file_name', f'{text}')
            db.update_user(user_id, 'mode', 0)
            db.update_user(user_id, 'state', 0)
            db.update_user(user_id, 'package_id', None)
        buttons = []
        buttons.append([InlineKeyboardButton('تغییر نام فایل', f'change_file_name,{task_id}')])
        for quality in DEFAULT_QUALITIES:
            buttons.append([InlineKeyboardButton(quality, f'{quality},{task_id}')])
        buttons.append([InlineKeyboardButton('آغاز عملیات', f'start_task,{task_id},None')])
        await update.reply(f'عنوان فایل: {text}', reply_markup=auto_inline_panel(buttons),reply_to_message_id=message_id)
        await update.reply('به موویو اسپنر خوش آمدید.', reply_markup=main_panel())
