Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
anasty17
GitHub Repository: anasty17/mirror-leech-telegram-bot
Path: blob/master/bot/modules/gd_count.py
1624 views
1
from ..helper.ext_utils.bot_utils import sync_to_async, new_task
2
from ..helper.ext_utils.links_utils import is_gdrive_link
3
from ..helper.ext_utils.status_utils import get_readable_file_size
4
from ..helper.mirror_leech_utils.gdrive_utils.count import GoogleDriveCount
5
from ..helper.telegram_helper.message_utils import delete_message, send_message
6
7
8
@new_task
9
async def count_node(_, message):
10
args = message.text.split()
11
user = message.from_user or message.sender_chat
12
if username := user.username:
13
tag = f"@{username}"
14
else:
15
tag = message.from_user.mention
16
17
link = args[1] if len(args) > 1 else ""
18
if len(link) == 0 and (reply_to := message.reply_to_message):
19
link = reply_to.text.split(maxsplit=1)[0].strip()
20
21
if is_gdrive_link(link):
22
msg = await send_message(message, f"Counting: <code>{link}</code>")
23
name, mime_type, size, files, folders = await sync_to_async(
24
GoogleDriveCount().count, link, user.id
25
)
26
if mime_type is None:
27
await send_message(message, name)
28
return
29
await delete_message(msg)
30
msg = f"<b>Name: </b><code>{name}</code>"
31
msg += f"\n\n<b>Size: </b>{get_readable_file_size(size)}"
32
msg += f"\n\n<b>Type: </b>{mime_type}"
33
if mime_type == "Folder":
34
msg += f"\n<b>SubFolders: </b>{folders}"
35
msg += f"\n<b>Files: </b>{files}"
36
msg += f"\n\n<b>cc: </b>{tag}"
37
else:
38
msg = (
39
"Send Gdrive link along with command or by replying to the link by command"
40
)
41
42
await send_message(message, msg)
43
44
45
46
47