This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Telegram/modules/commands/applications.py

40 lines
1.3 KiB
Python
Raw Normal View History

2022-12-12 11:13:58 +02:00
from os import sep, makedirs, remove
from uuid import uuid1
2022-12-27 19:46:17 +02:00
from app import app
2022-12-05 19:49:51 +02:00
from pyrogram import filters
2022-12-27 14:36:54 +02:00
from pyrogram.types import Message
from pyrogram.client import Client
2022-12-05 19:49:51 +02:00
from pyrogram.enums.chat_action import ChatAction
2022-12-16 16:04:42 +02:00
from modules.logging import logWrite
2022-12-15 15:52:33 +02:00
from modules.utils import should_quote, jsonSave
2022-12-12 11:13:58 +02:00
from modules.database import col_applications
2022-12-27 19:46:17 +02:00
from modules import custom_filters
2022-12-05 19:49:51 +02:00
2023-03-09 17:25:06 +02:00
@app.on_message(
custom_filters.enabled_applications
& ~filters.scheduled
& filters.command(["applications"], prefixes=["/"])
& custom_filters.admin
)
2022-12-27 14:36:54 +02:00
async def cmd_applications(app: Client, msg: Message):
2022-12-27 19:46:17 +02:00
logWrite(f"Admin {msg.from_user.id} requested export of a database")
await app.send_chat_action(msg.chat.id, ChatAction.UPLOAD_DOCUMENT)
filename = uuid1()
output = []
for entry in col_applications.find():
del entry["_id"]
entry["date"] = entry["date"].strftime("%d.%m.%Y, %H:%M")
2023-03-09 17:25:06 +02:00
entry["application"]["2"] = entry["application"]["2"].strftime(
"%d.%m.%Y, %H:%M"
)
2022-12-27 19:46:17 +02:00
output.append(entry)
makedirs("tmp", exist_ok=True)
jsonSave(output, f"tmp{sep}{filename}.json")
2023-03-09 17:25:06 +02:00
await msg.reply_document(
document=f"tmp{sep}{filename}.json",
file_name="applications",
quote=should_quote(msg),
)
2022-12-27 19:46:17 +02:00
remove(f"tmp{sep}{filename}.json")