[feat] auto rmeove tg downloaded file trash

commit [authored] by: @xtaodada
This commit is contained in:
levina 2022-02-12 18:33:49 +07:00 committed by GitHub
parent ff3d27e4eb
commit d9c6b9692b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,13 +1,31 @@
from os import remove
QUEUE = {}
def clean_trash(file_name: str, cid: int, clear_all: bool = False):
for i in QUEUE:
chat_queue = QUEUE[i][1:] if (i == cid and (not clear_all)) else QUEUE[i]
for f in chat_queue:
if f[1] == file_name:
file_name = None
break
if file_name:
try:
remove(file_name)
except FileNotFoundError:
pass
def add_to_queue(chat_id, songname, link, ref, type, quality):
if chat_id in QUEUE:
chat_queue = QUEUE[chat_id]
chat_queue.append([songname, link, ref, type, quality])
return int(len(chat_queue)-1)
return int(len(chat_queue) -1)
else:
QUEUE[chat_id] = [[songname, link, ref, type, quality]]
def get_queue(chat_id):
if chat_id in QUEUE:
chat_queue = QUEUE[chat_id]
@ -15,6 +33,7 @@ def get_queue(chat_id):
else:
return 0
def pop_an_item(chat_id):
if chat_id in QUEUE:
chat_queue = QUEUE[chat_id]
@ -22,9 +41,13 @@ def pop_an_item(chat_id):
return 1
else:
return 0
def clear_queue(chat_id):
if chat_id in QUEUE:
for i in QUEUE[chat_id]:
if "t.me" in i[2]:
clean_trash(i[1], chat_id, True)
QUEUE.pop(chat_id)
return 1
else: