Test-bot / plugins /files_delete.py
kgashok's picture
commit
19e1d1f
raw
history blame contribute delete
No virus
1.61 kB
import re
import logging
from pyrogram import Client, filters
from info import DELETE_CHANNELS
from database.ia_filterdb import Media, unpack_new_file_id
logger = logging.getLogger(__name__)
media_filter = filters.document | filters.video | filters.audio
@Client.on_message(filters.chat(DELETE_CHANNELS) & media_filter)
async def deletemultiplemedia(bot, message):
"""Delete Multiple files from database"""
for file_type in ("document", "video", "audio"):
media = getattr(message, file_type, None)
if media is not None:
break
else:
return
file_id, file_ref = unpack_new_file_id(media.file_id)
result = await Media.collection.delete_one({
'_id': file_id,
})
if result.deleted_count:
logger.info('File is successfully deleted from database.')
else:
file_name = re.sub(r"(_|\-|\.|\+)", " ", str(media.file_name))
result = await Media.collection.delete_many({
'file_name': file_name,
'file_size': media.file_size,
'mime_type': media.mime_type
})
if result.deleted_count:
logger.info('File is successfully deleted from database.')
else:
result = await Media.collection.delete_many({
'file_name': media.file_name,
'file_size': media.file_size,
'mime_type': media.mime_type
})
if result.deleted_count:
logger.info('File is successfully deleted from database.')
else:
logger.info('File not found in database.')