Beispiel #1
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'😡 𝑭𝒊𝒍𝒆 𝒊𝒔 𝒂𝒍𝒓𝒆𝒂𝒅𝒚 𝒂𝒗𝒂𝒊𝒍𝒂𝒃𝒍𝒆 𝒊𝒏 𝑫𝒓𝒊𝒗𝒆\n𝑭𝒊𝒔𝒓𝒕 𝒔𝒆𝒂𝒓𝒄𝒉 𝑩𝒆𝒇𝒐𝒓𝒆 𝑴𝒊𝒓𝒓𝒐𝒓𝒊𝒏𝒈 𝒂𝒏𝒚𝒕𝒉𝒊𝒏𝒈 😡\n𝑰𝒇 𝒚𝒐𝒖 𝒅𝒐 𝒕𝒉𝒊𝒔 𝒂𝒈𝒂𝒊𝒏❗ 𝒀𝒐𝒖 𝒘𝒊𝒍𝒍 𝒃𝒆 𝑩𝒂𝒏 😐.\n\n'
             )
             sendMarkup(" <b>Here are the search results:</b> 👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #2
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if ENABLE_FILESIZE_LIMIT:
       if download.total_length / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE:
           LOGGER.info(f" Download size Exceeded: {gid}")
           dl.getListener().onDownloadError(f'File size larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB')
           aria2.remove([download])
       return
     update_all_messages()
     gdrive = GoogleDriveHelper(None)
     smsg, button = gdrive.drive_list(sname)
     if STOP_DUPLICATE_MIRROR:
         if smsg:
             dl.getListener().onDownloadError(f'😡 File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n')
             print(dl.getListener())
             if button:
                 sendMarkup("Here are the search results:👇\n", dl.getListener().bot, dl.getListener().update, button)
             else:
                 sendMessage("Here are the search results:👇\n" + smsg, dl.getListener().bot, dl.getListener().update)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #3
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onMulai download : {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'😡😡File nya udh ada di google drive ya, kamu bisa cari dengan mengetik /daftar (yg pengen kamu cari), kamu soam = ban\n\n'
             )
             sendMarkup(" Nih yang kamu cari:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #4
0
def cloneNode(update, context):
    if update.message.from_user.last_name:
        last_name = f" {update.message.from_user.last_name}"
    else:
        last_name = ""
    if update.message.from_user.username:
        username = f"@{update.message.from_user.username}"
    else:
        username = ""
    name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>'

    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = f'Bentar lg clonning link google drive nya\n' \
              f'User: buat yang request tadi {username}\n' \
              f'Link: <a href="{link}">{link}</a>'
        sendMessage(msg, context.bot, update)
        gd = GoogleDriveHelper()
        result, button = gd.clone(link)
        LOGGER.info('ID: {} - Username: {} - Message: {}'.format(
            update.message.chat.id, update.message.chat.username,
            update.message.text))
        # deleteMessage(context.bot,msg)
    else:
        sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot,
                    update)
Beispiel #5
0
def cloneNode(update, context):
    if update.message.from_user.last_name:
        last_name = f" {update.message.from_user.last_name}"
    else:
        last_name = ""
    if update.message.from_user.username:
        username = f"@{update.message.from_user.username}"
    else:
        username = ""
    name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>'
    if username is not None:
        cc = f'\n\n<b>Cloned by :</b> {username}'

    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = f'<b>Cloning......</b> \n\n' \
              f'<b>User :</b> {username}\n' \
              f'<b>Link :</b> <a href="{link}"><code>{link}</code></a>'
        sendMessage(msg, context.bot, update)
        gd = GoogleDriveHelper()
        result, button = gd.clone(link)
        LOGGER.info('ID: {} - Username: {} - Message: {}'.format(
            update.message.chat.id, update.message.chat.username,
            update.message.text))
        # deleteMessage(context.bot,msg)
        sendMarkup(result + cc, context.bot, update, button)
    else:
        sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot,
                    update)
 def __onDownloadStarted(self, api, gid):
     if STOP_DUPLICATE or TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None:
         sleep(1)
         dl = getDownloadByGid(gid)
         download = aria2.get_download(gid)
     if STOP_DUPLICATE and dl is not None and not dl.getListener().isLeech:
         LOGGER.info('Checking File/Folder if already in Drive...')
         sname = aria2.get_download(gid).name
         if dl.getListener().isTar:
             sname = sname + ".zip" if dl.getListener().isZip else sname + ".tar"
         if dl.getListener().extract:
             smsg = None
         else:
             gdrive = GoogleDriveHelper()
             smsg, button = gdrive.drive_list(sname, True)
         if smsg:
             dl.getListener().onDownloadError('File/Folder already available in Drive.\n\n')
             aria2.remove([download], force=True)
             sendMarkup("Here are the search results:", dl.getListener().bot, dl.getListener().update, button)
             return
     if (TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None) and dl is not None:
         sleep(1)
         size = aria2.get_download(gid).total_length
         if dl.getListener().isTar or dl.getListener().extract:
             is_tar_ext = True
             mssg = f'Tar/Unzip limit is {TAR_UNZIP_LIMIT}'
         else:
             is_tar_ext = False
             mssg = f'Torrent/Direct limit is {TORRENT_DIRECT_LIMIT}'
         result = check_limit(size, TORRENT_DIRECT_LIMIT, TAR_UNZIP_LIMIT, is_tar_ext)
         if result:
             dl.getListener().onDownloadError(f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}')
             aria2.remove([download], force=True)
             return
     update_all_messages()
Beispiel #7
0
    def __onDownloadStarted(self, api, gid):
        sleep(1)
        LOGGER.info(f"onDownloadStart: {gid}")
        dl = getDownloadByGid(gid)
        download = api.get_download(gid)
        self.name = download.name
        sname = download.name
        if STOP_DUPLICATE_MIRROR:
            if dl.getListener().isTar == True:
                sname = sname + ".tar"
            if dl.getListener().extract == True:
                smsg = None
            else:
                gdrive = GoogleDriveHelper(None)
                smsg, button = gdrive.drive_list(sname)
            if smsg:
                dl.getListener().onDownloadError(
                    f'🤬𝙵𝚒𝚕𝚎 𝚒𝚜 𝚊𝚕𝚛𝚎𝚊𝚍𝚢 𝚊𝚟𝚊𝚒𝚕𝚊𝚋𝚕𝚎 𝚒𝚗 T𝚎𝚊𝚖𝙳𝚛𝚒𝚟𝚎🤬.\n\n')
                sendMarkup("🥶𝙷𝚎𝚛𝚎 𝚊𝚛𝚎 𝚝𝚑𝚎 𝚜𝚎𝚊𝚛𝚌𝚑 𝚛𝚎𝚜𝚞𝚕𝚝𝚜:👇",
                           dl.getListener().bot,
                           dl.getListener().update, button)
                aria2.remove([download])
                return

        size = download.total_length
        if ENABLE_FILESIZE_LIMIT:
            if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE:
                LOGGER.info(f"Download size Exceeded: {gid}")
                dl.getListener().onDownloadError(
                    f'File size {get_readable_file_size(size)} larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB'
                )
                aria2.remove([download])
                return
        update_all_messages()
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'\n\n❌ Duplicate Mirror detected!! ❌\n\nThis download has been stopped. File is already available in drive\n\n'
             )
             sendMarkup("  🔍 Here is the search results👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #9
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'⚠️⚠️ File sudah ada di database, harap /list dahulu sebelum menggunakan /mirror. This download has been stopped.\n\n'
             )
             sendMarkup(" Here are the search results:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #10
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     gdrive = GoogleDriveHelper(None)
     smsg, button = gdrive.drive_list(sname)
     if STOP_DUPLICATE_MIRROR:
         if smsg:
             dl.getListener().onDownloadError(
                 f'File is already available in drive.\n\n')
             print(dl.getListener())
             if button:
                 sendMarkup("Here are the search results:👇\n",
                            dl.getListener().bot,
                            dl.getListener().update, button)
             else:
                 sendMessage("Here are the search results:👇\n" + smsg,
                             dl.getListener().bot,
                             dl.getListener().update)
             aria2.remove([download])
         return
     update_all_messages()
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'😡😡File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n'
             )
             sendMarkup(" Here are the search results:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #12
0
    def __onDownloadStarted(self, api, gid):
        sleep(1)
        LOGGER.info(f"onDownloadStart: {gid}")
        dl = getDownloadByGid(gid)
        download = api.get_download(gid)
        self.name = download.name
        sname = download.name
        if STOP_DUPLICATE_MIRROR:
          if dl.getListener().isTar == True:
            sname = sname + ".tar"
          if dl.getListener().extract == True:
            smsg = None
          else:
            gdrive = GoogleDriveHelper(None)
            smsg, button = gdrive.drive_list(sname)
          if smsg:
              dl.getListener().onDownloadError(f'File is already available in drive Bitch.\nNext time Direct BAN.\n\n')
              sendMarkup("Here are the search results: 👇", dl.getListener().bot, dl.getListener().update, button)
              aria2.remove([download])
              return
 
        size = download.total_length
        if ENABLE_FILESIZE_LIMIT:
          if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE:
              LOGGER.info(f"Download size Exceeded: {gid}")
              dl.getListener().onDownloadError(f'File size {get_readable_file_size(size)} larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB')
              aria2.remove([download])
              return
        update_all_messages()
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'⚠️⚠️ This download has been stopped. File is already there. Please Search: https://testing.bunny.workers.dev/0: \n\n'
             )
             sendMarkup(" Here are the search results:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #14
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     size = download.total_length
     if ENABLE_FILESIZE_LIMIT:
       if size / 1024 / 1024 / 1024 > MAX_TORRENT_SIZE:
           LOGGER.info(f" Download size Exceeded: {gid}")
           dl.getListener().onDownloadError(f'💾 File size {get_readable_file_size(size)} \n❌ larger than Maximum Allowed size {MAX_TORRENT_SIZE}GB')
           aria2.remove([download])
       return
     update_all_messages()
     if STOP_DUPLICATE_MIRROR:
       if dl.getListener().isTar == True:
         sname = sname + ".tar"
       if dl.getListener().extract == True:
         smsg = None
       else:
         gdrive = GoogleDriveHelper(None)
         smsg, button = gdrive.drive_list(sname)
       if smsg:
           dl.getListener().onDownloadError(f'😡 File is already available in drive. You should have search before mirror any file. You might get ban if you do this again. This download has been stopped.\n\n')
           sendMarkup(" Here are the search results:👇", dl.getListener().bot, dl.getListener().update, button)
           aria2.remove([download])
       return
     update_all_messages()
Beispiel #15
0
def cloneNode(update, context):
    if update.message.from_user.last_name:
        last_name = f" {update.message.from_user.last_name}"
    else:
        last_name = ""
    if update.message.from_user.username:
        username = f"@{update.message.from_user.username}"
    else:
        username = ""
    name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>'

    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = f"<code>Cloning....</code>\n\n<b>Wait Little bit. 🌞</b>\n\n" \
              f"<b>👤 Upload by :</b> {username}\n\n" \
              f"<b>🔗 Drive Link :</b> <code>{link}</code>"
        sendMessage(msg, context.bot, update)
        gd = GoogleDriveHelper()
        result, button = gd.clone(link)
        LOGGER.info('ID: {} - Username: {} - Message: {}'.format(
            update.message.chat.id, update.message.chat.username,
            update.message.text))
        # deleteMessage(context.bot,msg)
        sendMarkup(result, context.bot, update, button)
    else:
        sendMessage(
            "Dammnn 😒😐 \nProvide Google Drive Shareable Link For Clone 🌝\n\n📢 𝐄𝐱𝐚𝐦𝐩𝐥𝐞:\n <code>/clon1 your Google drive Link</code>\n\n💡 For More Help Join Support Group\n 📨 @MaxxBotChat",
            context.bot, update)
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'<code>➼𝐓𝐡𝐢𝐬 𝐅𝐢𝐥𝐞 𝐈𝐬 𝐀𝐥𝐫𝐞𝐚𝐝𝐲 𝐀𝐯𝐚𝐢𝐥𝐚𝐛𝐥𝐞 𝐈𝐧 𝐆𝐫𝐨𝐮𝐩 𝐃𝐫𝐢𝐯𝐞. 𝐘𝐨𝐮 𝐒𝐡𝐨𝐮𝐥𝐝 𝐇𝐚𝐯𝐞 🔍 𝐒𝐞𝐚𝐫𝐜𝐡 𝐁𝐲 /list 𝐂𝐨𝐦𝐦𝐚𝐧𝐝 𝐁𝐞𝐟𝐨𝐫𝐞 𝐌𝐢𝐫𝐫𝐨𝐫🌻 𝐀𝐧𝐲 𝐅𝐢𝐥𝐞. 𝐏𝐫𝐨𝐜𝐞𝐬𝐬 𝐇𝐚𝐬 𝐁𝐞𝐞𝐧 𝐒𝐭𝐨𝐩𝐩𝐞𝐝\n\n Hᴇʀᴇ Aʀᴇ Tʜᴇ Rᴇsᴜʟᴛs Fᴏʀ Yᴏᴜʀ Fɪʟᴇ:👇👇. \n\n{smsg}'
             )
             sendMarkup(" Here are the search results:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #17
0
def cloneNode(update, context):
    if update.message.from_user.last_name:
        last_name = f" {update.message.from_user.last_name}"
    else:
        last_name = ""
    if update.message.from_user.username:
        username = f"- @{update.message.from_user.username}"
    else:
        username = "******"
    name = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}{last_name}</a>'

    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = f"Cloning..." \
              f"User: {name} {username} (<code>{update.message.from_user.id}</code>)\n" \
              f"Message: {update.message.text}"
        sendMessage(msg, context.bot, update)
        gd = GoogleDriveHelper()
        result, button = gd.clone(link)
        # deleteMessage(context.bot,msg)
        if button == "":
            sendMessage(result, context.bot, update)
        else:
            sendMarkup(result, context.bot, update, button)
    else:
        sendMessage("Provide G-Drive Shareable Link to Clone.", context.bot,
                    update)
Beispiel #18
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'😡😡 File is Already Available in GDrive. This Download has been Stopped.\n\n'
             )
             sendMarkup(" Here is the File 👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'😒😆Tệp đã có sẵn trong drive. Bạn nên tìm kiếm trước khi tải bất kỳ tệp nào. Tải xuống này đã bị dừng.\n\n'
             )
             sendMarkup(" Đây là kết quả tìm kiếm:👇👇",
                        dl.getListener().bot,
                        dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #20
0
 def __onDownloadStarted(self, api, gid):
     sleep(1)
     LOGGER.info(f"onDownloadStart: {gid}")
     dl = getDownloadByGid(gid)
     download = api.get_download(gid)
     self.name = download.name
     sname = download.name
     if STOP_DUPLICATE_MIRROR:
         if dl.getListener().isTar == True:
             sname = sname + ".tar"
         if dl.getListener().extract == True:
             smsg = None
         else:
             gdrive = GoogleDriveHelper(None)
             smsg, button = gdrive.drive_list(sname)
         if smsg:
             dl.getListener().onDownloadError(
                 f'\n\nтЭМ Duplicate Mirror detected!! тЭМ\n\nржУрзЯрзЗржЗржЯ тЬЛ ржорж┐рж░рж░ ржХрж░рж╛рж░ ржкрзВрж░рзНржмрзЗ ржЖржкржирж╛рж░ рж╕рж╛рж░рзНржЪ ржХрж░рж╛ ржЙржЪрж┐ржд ржЫрж┐рж▓ ЁЯШР ржЖржкржирж┐ ржпрзЗ ржлрж╛ржЗрж▓ ржЯрж┐ ржорж┐рж░рж░ ржХрж░рждрзЗ ржЪрж╛ржЪрзНржЫрзЗржи рж╕рзЗржЗржЯрж╛ ржбрзНрж░рж╛ржЗржнрзЗ ржЕрж▓рж░рзЗржбрж┐ ржЖржЫрзЗржЗ ЁЯЩВ\n\n'
             )
             sendMarkup(
                 "  ЁЯФН ржПржЗржпрзЗ ржжрзЗржЦрзБржи рж╕рж╛рж░рзНржЪ рж░рзЗржЬрж╛рж▓рзНржЯ ЁЯСЗЁЯСЗ",
                 dl.getListener().bot,
                 dl.getListener().update, button)
             aria2.remove([download])
         return
     update_all_messages()
Beispiel #21
0
def cloneNode(update, context):
    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        gd = GoogleDriveHelper()
        if CLONE_LIMIT is not None or STOP_DUPLICATE_CLONE:
            msg1 = sendMessage(f"Checking Your Link...", context.bot, update)
            res, clonesize, name = gd.clonehelper(link)
            if res != "":
                deleteMessage(context.bot, msg1)
                sendMessage(res, context.bot, update)
                return
            if STOP_DUPLICATE_CLONE:
                LOGGER.info(f"Checking File/Folder if already in Drive...")
                smsg, button = gd.drive_list(name)
                if smsg:
                    deleteMessage(context.bot, msg1)
                    msg3 = "File/Folder is already available in Drive.\nHere are the search results:"
                    sendMarkup(msg3, context.bot, update, button)
                    return
                else:
                    if CLONE_LIMIT is None:
                        deleteMessage(context.bot, msg1)
            if CLONE_LIMIT is not None:
                LOGGER.info(f"Checking File/Folder Size...")
                limit = CLONE_LIMIT
                limit = limit.split(' ', maxsplit=1)
                limitint = int(limit[0])
                msg2 = f'Failed, Clone limit is {CLONE_LIMIT}.\nYour File/Folder size is {get_readable_file_size(clonesize)}.'
                if 'GB' in limit or 'gb' in limit:
                    if clonesize > limitint * 1024**3:
                        deleteMessage(context.bot, msg1)
                        sendMessage(msg2, context.bot, update)
                        return
                    else:
                        deleteMessage(context.bot, msg1)
                elif 'TB' in limit or 'tb' in limit:
                    if clonesize > limitint * 1024**4:
                        deleteMessage(context.bot, msg1)
                        sendMessage(msg2, context.bot, update)
                        return
                    else:
                        deleteMessage(context.bot, msg1)
        msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update)
        result, button = gd.clone(link)
        deleteMessage(context.bot, msg)
        if button == "":
            sendMessage(result, context.bot, update)
        else:
            if update.message.from_user.username:
                uname = f'@{update.message.from_user.username}'
            else:
                uname = f'<a href="tg://user?id={update.message.from_user.id}">{update.message.from_user.first_name}</a>'
            if uname is not None:
                cc = f'\n\ncc: {uname}'
            sendMarkup(result + cc, context.bot, update, button)
    else:
        sendMessage('Provide G-Drive Shareable Link to Clone.', context.bot,
                    update)
 def add_download(mega_link: str, path: str, listener):
     if MEGA_API_KEY is None:
         raise MegaDownloaderException('Mega API KEY not provided! Cannot mirror Mega links')
     executor = AsyncExecutor()
     api = MegaApi(MEGA_API_KEY, None, None, 'telegram-mirror-bot')
     global listeners
     mega_listener = MegaAppListener(executor.continue_event, listener)
     listeners.append(mega_listener)
     api.addListener(mega_listener)
     if MEGA_EMAIL_ID is not None and MEGA_PASSWORD is not None:
         executor.do(api.login, (MEGA_EMAIL_ID, MEGA_PASSWORD))
     link_type = get_mega_link_type(mega_link)
     if link_type == "file":
         LOGGER.info("File. If your download didn't start, then check your link if it's available to download")
         executor.do(api.getPublicNode, (mega_link,))
         node = mega_listener.public_node
     else:
         LOGGER.info("Folder. If your download didn't start, then check your link if it's available to download")
         folder_api = MegaApi(MEGA_API_KEY,None,None,'TgBot')
         folder_api.addListener(mega_listener)
         executor.do(folder_api.loginToFolder, (mega_link,))
         node = folder_api.authorizeNode(mega_listener.node)
     if mega_listener.error is not None:
         return sendMessage(str(mega_listener.error), listener.bot, listener.update)
     if STOP_DUPLICATE:
         LOGGER.info('Checking File/Folder if already in Drive')
         mname = node.getName()
         if listener.isTar:
             mname = mname + ".tar"
         if listener.extract:
             smsg = None
         else:
             gd = GoogleDriveHelper()
             smsg, button = gd.drive_list(mname)
         if smsg:
             msg1 = "File/Folder is already available in Drive.\nHere are the search results:"
             sendMarkup(msg1, listener.bot, listener.update, button)
             executor.continue_event.set()
             return
     if MEGA_LIMIT is not None or TAR_UNZIP_LIMIT is not None:
         size = api.getSize(node)
         if listener.isTar or listener.extract:
             is_tar_ext = True
             msg3 = f'Failed, Tar/Unzip limit is {TAR_UNZIP_LIMIT}.\nYour File/Folder size is {get_readable_file_size(api.getSize(node))}.'
         else:
             is_tar_ext = False
             msg3 = f'Failed, Mega limit is {MEGA_LIMIT}.\nYour File/Folder size is {get_readable_file_size(api.getSize(node))}.'
         result = check_limit(size, MEGA_LIMIT, TAR_UNZIP_LIMIT, is_tar_ext)
         if result:
             sendMessage(msg3, listener.bot, listener.update)
             executor.continue_event.set()
             return
     with download_dict_lock:
         download_dict[listener.uid] = MegaDownloadStatus(mega_listener, listener)
     os.makedirs(path)
     gid = ''.join(random.SystemRandom().choices(string.ascii_letters + string.digits, k=8))
     mega_listener.setValues(node.getName(), api.getSize(node), gid)
     sendStatusMessage(listener.update, listener.bot)
     executor.do(api.startDownload,(node,path))
Beispiel #23
0
    def __onDownloadStarted(self, api, gid):
        if STOP_DUPLICATE_MIRROR or TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None:
            sleep(0.5)
            dl = getDownloadByGid(gid)
            download = api.get_download(gid)

            if STOP_DUPLICATE_MIRROR:
                LOGGER.info(f"Checking File/Folder if already in Drive...")
                self.name = download.name
                sname = download.name
                if self.listener.isTar:
                    sname = sname + ".tar"
                if self.listener.extract:
                    smsg = None
                else:
                    gdrive = GoogleDriveHelper(None)
                    smsg, button = gdrive.drive_list(sname)
                if smsg:
                    aria2.remove([download])
                    dl.getListener().onDownloadError(
                        f'File/Folder is already available in Drive.\n\n')
                    sendMarkup("Here are the search results:",
                               dl.getListener().bot,
                               dl.getListener().update, button)
                    return

            if TORRENT_DIRECT_LIMIT is not None or TAR_UNZIP_LIMIT is not None:
                limit = None
                if TAR_UNZIP_LIMIT is not None and (self.listener.isTar
                                                    or self.listener.extract):
                    LOGGER.info(f"Checking File/Folder Size...")
                    limit = TAR_UNZIP_LIMIT
                    mssg = f'Tar/Unzip limit is {TAR_UNZIP_LIMIT}'
                elif TORRENT_DIRECT_LIMIT is not None and limit is None:
                    LOGGER.info(f"Checking File/Folder Size...")
                    limit = TORRENT_DIRECT_LIMIT
                    mssg = f'Torrent/Direct limit is {TORRENT_DIRECT_LIMIT}'
                if limit is not None:
                    sleep(1.5)
                    size = aria2.get_download(gid).total_length
                    limit = limit.split(' ', maxsplit=1)
                    limitint = int(limit[0])
                    if 'G' in limit[1] or 'g' in limit[1]:
                        if size > limitint * 1024**3:
                            aria2.remove([download])
                            dl.getListener().onDownloadError(
                                f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}'
                            )
                            return
                    elif 'T' in limit[1] or 't' in limit[1]:
                        if size > limitint * 1024**4:
                            aria2.remove([download])
                            dl.getListener().onDownloadError(
                                f'{mssg}.\nYour File/Folder size is {get_readable_file_size(size)}'
                            )
                            return
        update_all_messages()
Beispiel #24
0
def _list_drive(key, bmsg, list_method, item_type):
    LOGGER.info(f"listing: {key}")
    list_method = list_method == "recu"
    gdrive = GoogleDriveHelper()
    msg, button = gdrive.drive_list(key, isRecursive=list_method, itemType=item_type)
    if button:
        editMessage(msg, bmsg, button)
    else:
        editMessage(f'No result found for <i>{key}</i>', bmsg)
Beispiel #25
0
def cloneNode(update,context):
    args = update.message.text.split(" ",maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = sendMessage(f"Tunggu sebentar games, sedang menyalin : <code>{link}</code>",context.bot,update)
        gd = GoogleDriveHelper()
        result, button = gd.clone(link)
        deleteMessage(context.bot,msg)
        sendMarkup(result,context.bot,update,button)
    else:
        sendMessage("Tolong kasih link Google Drive yang bisa disalin.",context.bot,update)
Beispiel #26
0
def cloneNode(update, context):
    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update)
        gd = GoogleDriveHelper()
        result = gd.clone(link)
        deleteMessage(context.bot, msg)
        sendMessage(result, context.bot, update)
    else:
        sendMessage("🚧Provide GD-TD Shareable Link to Clone.", bot, update)
Beispiel #27
0
def cloneNode(client: Client, message: Message):
    args = message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = sendMessage(f"Cloning: <code>{link}</code>", client, message)
        gd = GoogleDriveHelper()
        result = gd.clone(link)
        deleteMessage(msg)
        sendMessage(result, client, message)
    else:
        sendMessage("Provide G-Drive Shareable Link to Clone.", client,
                    message)
Beispiel #28
0
def list_drive(bot,update):
    message = update.message.text
    search = message.split(' ',maxsplit=1)[1]
    LOGGER.info(f"Searching: {search}")
    gdrive = GoogleDriveHelper(None)
    msg = gdrive.drive_list(search)
    if msg:
        reply_message = sendMessage(msg, bot, update)
    else:
        reply_message = sendMessage('No result found', bot, update)

    threading.Thread(target=auto_delete_message, args=(bot, update.message, reply_message)).start()
Beispiel #29
0
def cloneNode(update, context):
    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = sendMessage(f"Cloning: <code>{link}</code>", context.bot, update)
        gd = GoogleDriveHelper()
        result = gd.clone(link)
        deleteMessage(context.bot, msg)
        sendMessage(result, context.bot, update)
    else:
        sendMessage(
            "Cung cấp liên kết có thể chia sẻ trên G-Drive để sao chép.",
            context.bot, update)
Beispiel #30
0
def countNode(update, context):
    args = update.message.text.split(" ", maxsplit=1)
    if len(args) > 1:
        link = args[1]
        msg = sendMessage(f"Counting: <code>{link}</code>", context.bot,
                          update)
        gd = GoogleDriveHelper()
        result = gd.count(link)
        deleteMessage(context.bot, msg)
        sendMessage(result, context.bot, update)
    else:
        sendMessage("Provide G-Drive Shareable Link to Count.", context.bot,
                    update)