Team Ai
Apppublic

azils3/bash

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
fileshare.py96 linesDownload Raw Back to plugins
1# Ultroid - UserBot2# Copyright (C) 2021-2025 TeamUltroid3#4# This file is a part of < https://github.com/TeamUltroid/Ultroid/ >5# PLease read the GNU Affero General Public License in6# <https://www.github.com/TeamUltroid/Ultroid/blob/main/LICENSE/>.7 8from . import get_help9 10__doc__ = get_help("help_fileshare")11 12import os13 14from pyUltroid.dB.filestore_db import del_stored, get_stored_msg, list_all_stored_msgs15from pyUltroid.fns.tools import get_file_link16 17from . import HNDLR, asst, get_string, in_pattern, udB, ultroid_bot, ultroid_cmd18 19 20@ultroid_cmd(pattern="store$")21async def filestoreplg(event):22    msg = await event.get_reply_message()23    if not msg:24        return await event.eor(get_string("fsh_3"), time=10)25    # allow storing both messages and media.26    filehash = await get_file_link(msg)27    link_to_file = f"https://t.me/{asst.me.username}?start={filehash}"28    await event.eor(29        get_string("fsh_2").format(link_to_file),30        link_preview=False,31    )32 33 34@ultroid_cmd("delstored ?(.*)")35async def _(event):36    match = event.pattern_match.group(1)37    if not match:38        return await event.eor("`Give stored film's link to delete.`", time=5)39    match = match.split("?start=")40    botusername = match[0].split("/")[-1]41    if botusername != asst.me.username:42        return await event.eor(43            "`Message/Media of provided link was not stored by this bot.`", time=544        )45    msg_id = get_stored_msg(match[1])46    if not msg_id:47        return await event.eor(48            "`Message/Media of provided link was already deleted.`", time=549        )50    del_stored(match[1])51    await ultroid_bot.delete_messages(udB.get_key("LOG_CHANNEL"), int(msg_id))52    await event.eor("__Deleted__")53 54 55@ultroid_cmd("liststored$")56async def liststored(event):57    files = list_all_stored_msgs()58    if not files:59        return await event.eor(get_string("fsh_4"), time=5)60    msg = "**Stored files:**\n"61    for c, i in enumerate(files, start=1):62        msg += f"`{c}`. https://t.me/{asst.me.username}?start={i}\n"63    if len(msg) > 4095:64        with open("liststored.txt", "w") as f:65            f.write(msg.replace("**", "").replace("`", ""))66        await event.reply(get_string("fsh_1"), file="liststored.txt")67        os.remove("liststored.txt")68        return69    await event.eor(msg, link_preview=False)70 71 72@in_pattern("filestore", owner=True)73async def file_short(event):74    all_ = list_all_stored_msgs()75    res = []76    if all_:77        LOG_CHA = udB.get_key("LOG_CHANNEL")78        for msg in all_[:50]:79            m_id = get_stored_msg(msg)80            if not m_id:81                continue82            message = await asst.get_messages(LOG_CHA, ids=m_id)83            if not message:84                continue85            if message.media:86                res.append(await event.builder.document(title=msg, file=message.media))87            elif message.text:88                res.append(89                    await event.builder.article(title=message.text, text=message.text)90                )91    if not res:92        title = "You have no stored file :("93        text = f"{title}\n\nRead `{HNDLR}help fileshare` to know how to store."94        return await event.answer([await event.builder.article(title=title, text=text)])95    await event.answer(res, switch_pm="• File Store •", switch_pm_param="start")96