示例#1
0
 def clone(self, link):
     self.transferred_size = 0
     try:
         file_id = self.getIdFromUrl(link)
     except (KeyError, IndexError):
         msg = "Google drive ID could not be found in the provided link"
         return msg, ""
     msg = ""
     LOGGER.info(f"File ID: {file_id}")
     try:
         meta = self.getFileMetadata(file_id)
         if meta.get("mimeType") == self.__G_DRIVE_DIR_MIME_TYPE:
             dir_id = self.create_directory(meta.get('name'), parent_id)
             result = self.cloneFolder(meta.get('name'), meta.get('name'),
                                       meta.get('id'), dir_id)
             msg += f'<b>Filename : </b><code>{meta.get("name")}</code>\n<b>Size : </b>{get_readable_file_size(self.transferred_size)}'
             buttons = button_builder.ButtonMaker()
             buttons.buildbutton(
                 "✨Drive Link✨",
                 self.__G_DRIVE_DIR_BASE_DOWNLOAD_URL.format(dir_id))
             if INDEX_URL is not None:
                 url_path = requests.utils.quote(f'{meta.get("name")}')
                 url = f'{INDEX_URL}/{url_path}/'
                 buttons.buildbutton("🌩️ Cloud Mirror 🌩️", url)
                 buttons.buildbutton("🎥 CINEMAFLIX 🎥", self.__cinemaflix)
         else:
             file = self.copyFile(meta.get('id'), parent_id)
             msg += f'<b>Filename : </b><code>{file.get("name")}</code>'
             buttons = button_builder.ButtonMaker()
             buttons.buildbutton(
                 "✨Drive Link✨",
                 self.__G_DRIVE_BASE_DOWNLOAD_URL.format(file.get("id")))
             try:
                 msg += f'\n<b>Size : </b><code>{get_readable_file_size(int(meta.get("size")))}</code>'
             except TypeError:
                 pass
             if INDEX_URL is not None:
                 url_path = requests.utils.quote(f'{file.get("name")}')
                 url = f'{INDEX_URL}/{url_path}'
                 buttons.buildbutton("🌩️ Cloud Mirror 🌩️", url)
                 buttons.buildbutton("🎥 CINEMAFLIX 🎥", self.__cinemaflix)
     except Exception as err:
         if isinstance(err, RetryError):
             LOGGER.info(
                 f"Total Attempts: {err.last_attempt.attempt_number}")
             err = err.last_attempt.exception()
         err = str(err).replace('>', '').replace('<', '')
         LOGGER.error(err)
         return err, ""
     return msg, InlineKeyboardMarkup(buttons.build_menu(3))
示例#2
0
    def drive_list(self, fileName):
        msg = ''
        INDEX = -1
        content_count = 0
        add_title_msg = True
        for parent_id in DRIVE_ID:
            response = self.drive_query(parent_id, fileName)
            INDEX += 1
            if response:
                if add_title_msg == True:
                    msg = f'<h3>Sᴇᴀʀᴄʜ Rᴇsᴜʟᴛs Fᴏʀ Yᴏᴜʀ Kᴇʏᴡᴏʀᴅ : {fileName}</h3><br><b><a href="https://telegram.dog/TVSERIESHOME">💖 JOIN SERIES HUB 💖</a></b> ||<b><a href="https://telegram.dog/MOVIECLUB_CHAT">📥 JOIN MOVIE CLUB 📥</a></b><br><br>'
                    add_title_msg = False
                msg += f"╾────────────╼<br><b>{DRIVE_NAME[INDEX]}</b><br>╾────────────╼<br>"
                for file in response:
                    if file.get(
                            'mimeType'
                    ) == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        msg += f"🗃️<code>{file.get('name')}</code> <b>[Folder]</b><br>" \
                               f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>🌎G-Dʀɪᴠᴇ Lɪɴᴋ</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}/'
                            msg += f'<b> | <a href="{url}">📇Iɴᴅᴇx Lɪɴᴋ</a></b>'
                    else:
                        msg += f"🌀<code>{file.get('name')}</code> <b>({self.get_readable_file_size(file.get('size'))})</b><br>" \
                               f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>🌎G-Dʀɪᴠᴇ Lɪɴᴋ</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}'
                            msg += f'<b> | <a href="{url}">📇Iɴᴅᴇx Lɪɴᴋ</a></b>'
                    msg += '<br><br>'
                    content_count += 1
                    if content_count == TELEGRAPHLIMIT:
                        self.telegraph_content.append(msg)
                        msg = ""
                        content_count = 0

        if msg != '':
            self.telegraph_content.append(msg)

        if len(self.telegraph_content) == 0:
            return "<b>➼Nᴏ Rᴇsᴜʟᴛs Fᴏᴜɴᴅ Fᴏʀ Yᴏᴜʀ Fɪʟᴇ Nᴀᴍᴇ Kᴇʏᴡᴏʀᴅ :(</b>", None

        for content in self.telegraph_content:
            self.path.append(
                telegra_ph.create_page(title='☁️@DEV_BOTSS CLOUD☁️',
                                       html_content=content)['path'])

        self.num_of_path = len(self.path)
        if self.num_of_path > 1:
            self.edit_telegraph()

        msg = f" <b>Sᴇᴀʀᴄʜ Rᴇsᴜʟᴛs Fᴏʀ Yᴏᴜʀ Kᴇʏᴡᴏʀᴅ :</b> ➼ {fileName} 👇 "
        buttons = button_builder.ButtonMaker()
        buttons.buildbutton("☘️ CLICK HERE FOR FILE ☘️",
                            f"https://telegra.ph/{self.path[0]}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))
示例#3
0
 def onUploadComplete(self, link: str):
     with download_dict_lock:
         msg = f'<b>Filename : </b><code>{download_dict[self.uid].name()}</code>\n<b>Size : </b><code>{download_dict[self.uid].size()}</code>'
         buttons = button_builder.ButtonMaker()
         buttons.buildbutton("âš¡Drive Linkâš¡", link)
         LOGGER.info(f'Done Uploading {download_dict[self.uid].name()}')
         if INDEX_URL is not None:
             url_path = requests.utils.quote(f'{download_dict[self.uid].name()}')
             share_url = f'{INDEX_URL}/{url_path}'
             if os.path.isdir(f'{DOWNLOAD_DIR}/{self.uid}/{download_dict[self.uid].name()}'):
                 share_url += '/'
             buttons.buildbutton("💥Index Link💥", share_url)
         if self.message.from_user.username:
             uname = f"@{self.message.from_user.username}"
         else:
             uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>'
         if uname is not None:
             msg += f'\n\nHey {uname}, your file is uploaded'
         try:
             fs_utils.clean_download(download_dict[self.uid].path())
         except FileNotFoundError:
             pass
         del download_dict[self.uid]
         count = len(download_dict)
     sendMarkup(msg, self.bot, self.update, InlineKeyboardMarkup(buttons.build_menu(2)))
     if count == 0:
         self.clean()
     else:
         update_all_messages()
示例#4
0
 def onUploadComplete(self, link: str):
     with download_dict_lock:
         msg = f'<u>𝗣𝗼𝘄𝗲𝗿𝗲𝗱 𝗕𝘆</u> <a href="https://t.me/premiumcoursesdrive">📚 Courses Drive 📚</a>\n\n𝗙𝗶𝗹𝗲𝗻𝗮𝗺𝗲🗂 : <code>{download_dict[self.uid].name()}</code>\n𝗦𝗶𝘇𝗲 ⚖️ : <code>{download_dict[self.uid].size()}</code>\n\nOnly Use TeamDrive Link if you have Access.\nDon\'t request access through this link'
         buttons = button_builder.ButtonMaker()
         buttons.buildbutton("📚 Course Link 📚", link)
         LOGGER.info(f'Done Uploading {download_dict[self.uid].name()}')
         if INDEX_URL is not None:
             url_path = requests.utils.quote(
                 f'{download_dict[self.uid].name()}')
             share_url = f'{INDEX_URL}/{url_path}'
             if os.path.isdir(
                     f'{DOWNLOAD_DIR}/{self.uid}/{download_dict[self.uid].name()}'
             ):
                 share_url += '/'
             buttons.buildbutton("Index Link", share_url)
         if self.message.from_user.username:
             uname = f"@{self.message.from_user.username}"
         else:
             uname = f'<a href="tg://user?id={self.message.from_user.id}">{self.message.from_user.first_name}</a>'
         if uname is not None:
             msg += f'\n\nHey {uname}, your file is uploaded'
         try:
             fs_utils.clean_download(download_dict[self.uid].path())
         except FileNotFoundError:
             pass
         del download_dict[self.uid]
         count = len(download_dict)
     sendMarkup(msg, self.bot, self.update,
                InlineKeyboardMarkup(buttons.build_menu(2)))
     if count == 0:
         self.clean()
     else:
         update_all_messages()
示例#5
0
def start(update, context):
    buttons = button_builder.ButtonMaker()
    buttons.buildbutton("Repo",
                        "https://github.com/usmanmughalji/Drive-X-Search-Bot")
    reply_markup = InlineKeyboardMarkup(buttons.build_menu(1))
    uptime = get_readable_time((time.time() - botStartTime))
    LOGGER.info('UID: {} - UN: {} - MSG: {}'.format(
        update.message.chat.id, update.message.chat.username,
        update.message.text))
    if CustomFilters.authorized_user(update) or CustomFilters.authorized_chat(
            update):
        if update.message.chat.type == "private":
            sendMessage(
                f"Hey I'm Alive 🙂 \n\nSince: {uptime} \n\nWelcome to <b>Search-X Bot</b>",
                context.bot, update)
        else:
            start_string = '\x1f<b>This Bot Can Search In All Of Your Google Drives!</b>\x1f'

            sendMessage(start_string, context.bot, update)
    else:
        sendMarkup(
            'Oops! not a Authorized user.\n\nPlease Deploy Your Own <b>Drive-X-Search-Bot</b>.',
            context.bot,
            update,
            reply_markup,
        )
示例#6
0
    def drive_list(self, fileName):
        msg = ""
        # Create Search Query for API request.
        query = f"'{parent_id}' in parents and (name contains '{fileName}')"
        response = self.__service.files().list(supportsTeamDrives=True,
                                               includeTeamDriveItems=True,
                                               q=query,
                                               spaces='drive',
                                               pageSize=200,
                                               fields='files(id, name, mimeType, size)',
                                               orderBy='modifiedTime desc').execute()

        if response["files"]:
            content_count = 0
            self.telegraph_content = []
            self.path = []
            msg += f'<h4>Results : {fileName}</h4><br>@Oreooo #Misaka<br><br>'

            for file in response.get('files', []):
                if file.get('mimeType') == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                    msg += f"⁍<code>{file.get('name')}<br>(folder📁)</code><br>" \
                           f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>Drive Link</a></b>"
                    if INDEX_URL is not None:
                        url_path = requests.utils.quote(f'{file.get("name")}')
                        url = f'{INDEX_URL}/{url_path}/'
                        msg += f' <b>| <a href="{url}">Index Link</a></b>'

                else:
                    msg += f"⁍<code>{file.get('name')}<br>({get_readable_file_size(int(file.get('size')))})📄</code><br>" \
                           f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>Drive Link</a></b>"
                    if INDEX_URL is not None:
                        url_path = requests.utils.quote(f'{file.get("name")}')
                        url = f'{INDEX_URL}/{url_path}'
                        msg += f' <b>| <a href="{url}">Index Link</a></b>'
                msg += '<br><br>'
                content_count += 1
                if content_count == TELEGRAPHLIMIT :
                    self.telegraph_content.append(msg)
                    msg = ""
                    content_count = 0

            if msg != '':
                self.telegraph_content.append(msg)

            for content in self.telegraph_content :
                self.path.append(telegra_ph.create_page(title = 'Misaka',
                                                html_content=content )['path'])

            self.num_of_path = len(self.path)      
            if self.num_of_path > 1:
                self.edit_telegraph()

            msg = f"<b>Search Results For {fileName} 👇</b>"
            buttons = button_builder.ButtonMaker()   
            buttons.buildbutton("HERE", f"https://telegra.ph/{self.path[0]}")

            return msg, InlineKeyboardMarkup(buttons.build_menu(1))

        else :
            return "No Result Found :(", None
示例#7
0
    def drive_list(self, fileName):
        msg = ''
        INDEX = -1
        content_count = 0
        add_title_msg = True
        for parent_id in DRIVE_ID:
            response = self.drive_query(parent_id, fileName)
            INDEX += 1
            if response:
                if add_title_msg == True:
                    msg = f'<h3>Search Results for : {fileName}</h3><br><br><h4>№Ÿ” To Get Access To Drive Links <a href="https://groups.google.com/g/gdrivemirrorcloud">№Ÿ‘‰Join Google Group</a></h4><br><br>'
                    add_title_msg = False
                msg += f"т•От”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т•М<br><b>{DRIVE_NAME[INDEX]}</b><br>т•От”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т•М<br>"
                for file in response:
                    if file.get(
                            'mimeType'
                    ) == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        msg += f"№Ÿ“<code>{file.get('name')}</code> <b>(folder)</b><br>" \
                               f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}/'
                            msg += f'<b> | <a href="{url}">Index Link</a></b>'
                    else:
                        msg += f"№Ÿ“„<code>{file.get('name')}</code> <b>({self.get_readable_file_size(file.get('size'))})</b><br>" \
                               f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}'
                            msg += f'<b> | <a href="{url}">Index Link</a></b>'
                    msg += '<br><br>'
                    content_count += 1
                    if content_count == TELEGRAPHLIMIT:
                        self.telegraph_content.append(msg)
                        msg = ""
                        content_count = 0

        if msg != '':
            self.telegraph_content.append(msg)

        if len(self.telegraph_content) == 0:
            return "No Result Found :(", None

        for content in self.telegraph_content:
            self.path.append(
                telegra_ph.create_page(title='Gdrive Mirror Cloud',
                                       html_content=content)['path'])

        self.num_of_path = len(self.path)
        if self.num_of_path > 1:
            self.edit_telegraph()

        msg = f" Search Results For {fileName} №Ÿ‘‡ "
        buttons = button_builder.ButtonMaker()
        buttons.buildbutton("CLICK HERE", f"https://telegra.ph/{self.path[0]}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))
示例#8
0
    def drive_list(self, fileName):
        msg = f'<h4>Search Results for : {fileName}</h4><br><br>'
        # Create Search Query for API request.
        Search_fileName = fileName.replace(" ", "' and name contains '")
        INDEX_ID = 0
        for parent_id in DRIVE_ID:
            query = f"'{parent_id}' in parents and (name contains '{Search_fileName}')"
            response = self.__service.files().list(
                supportsTeamDrives=True,
                includeTeamDriveItems=True,
                q=query,
                spaces='drive',
                pageSize=PAGE_SIZE,
                fields='files(id, name, mimeType, size)',
                orderBy='modifiedTime desc').execute()
            index_url = INDEX_URL[INDEX_ID]
            INDEX_ID += 1
            if response["files"]:
                for file in response.get('files', []):
                    if file.get(
                            'mimeType'
                    ) == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        msg += f"📁 <code>{file.get('name')}<br>(folder)</code><br>" \
                               f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>GDrive Link</a></b>"
                        if index_url is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{index_url}/{url_path}/'
                            msg += f' <b>| <a href="{url}">Index Link</a></b>'

                    else:
                        msg += f"📄 <code>{file.get('name')}<br>({self.get_readable_file_size(file.get('size'))})</code><br>" \
                               f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>GDrive Link</a></b>"
                        if index_url is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{index_url}/{url_path}'
                            msg += f' <b>| <a href="{url}">Index Link</a></b>'
                    msg += '<br><br>'
            else:
                None

        telegraph = Telegraph()
        telegraph.create_account(short_name='Asta')
        response = telegraph.create_page(title='GDrive Search Bot',
                                         author_name='Adnan Ahmad',
                                         author_url='https://t.me/viperadnan',
                                         html_content=msg)['path']

        msg = f"<b>Search Results For :</b> <code>{fileName}</code>"
        buttons = button_builder.ButtonMaker()
        buttons.buildbutton("Open in Telegraph",
                            f"https://telegra.ph/{response}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))
示例#9
0
    def drive_list(self, fileName):
        msg = ''
        INDEX = -1
        content_count = 0
        add_title_msg = True
        for parent_id in DRIVE_ID :
            response = self.drive_query(parent_id, fileName)    
            INDEX += 1          
            if response:
                if add_title_msg == True:
                    msg = f'<h3>Search Results for : {fileName}</h3><br>@LoaderXbot #ProjektX<br><br>'
                    add_title_msg = False
                msg += f"╾────────────╼<br><b>{DRIVE_NAME[INDEX]}</b><br>╾────────────╼<br>"
                for file in response:
                    if file.get('mimeType') == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        msg += f"�<code>{file.get('name')}</code> <b>(folder)</b><br>" \
                               f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = "/".join([requests.utils.quote(n, safe='') for n in self.get_recursive_list(file, parent_id)])
                            url = f'{INDEX_URL[INDEX]}/{url_path}/'
                            msg += f'<b> | <a href="{url}">Index Link</a></b>'
                    else:
                        msg += f"📄<code>{file.get('name')}</code> <b>({self.get_readable_file_size(file.get('size'))})</b><br>" \
                               f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = "/".join([requests.utils.quote(n, safe ='') for n in self.get_recursive_list(file, parent_id)])
                            url = f'{INDEX_URL[INDEX]}/{url_path}'
                            msg += f'<b> | <a href="{url}">Index Link</a></b>'
                    msg += '<br><br>'
                    content_count += 1
                    if content_count == TELEGRAPHLIMIT :
                       self.telegraph_content.append(msg)
                       msg = ""
                       content_count = 0

        if msg != '':
            self.telegraph_content.append(msg)

        if len(self.telegraph_content) == 0:
            return "No Result Found :(", None

        for content in self.telegraph_content :
            self.path.append(telegra_ph.create_page(title = 'LoaderX',
                                                html_content=content )['path'])

        self.num_of_path = len(self.path)      
        if self.num_of_path > 1:
            self.edit_telegraph()

        msg = f" Search Results For {fileName} 👇 "
        buttons = button_builder.ButtonMaker()   
        buttons.buildbutton("CLICK HERE", f"https://telegra.ph/{self.path[0]}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))
示例#10
0
    def drive_list(self, fileName):
        msg = f'<h4>Results : {fileName}</h4><br>@LoaderXbot #ProjektX<br><br>'
        # Create Search Query for API request.
        INDEX_ID = 0
        for parent_id in DRIVE_ID:
            query = f"'{parent_id}' in parents and (name contains '{fileName}')"
            response = self.__service.files().list(
                supportsTeamDrives=True,
                includeTeamDriveItems=True,
                q=query,
                spaces='drive',
                pageSize=200,
                fields='files(id, name, mimeType, size)',
                orderBy='modifiedTime desc').execute()
            index_url = INDEX_URL[INDEX_ID]
            INDEX_ID += 1
            msg += f"т•От”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т•М<br><b>Team Drive : {INDEX_ID}</b><br>т•От”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т”€т•М<br>"
            if response["files"]:
                for file in response.get('files', []):
                    if file.get(
                            'mimeType'
                    ) == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        msg += f"т<code>{file.get('name')}<br>(folder№Ÿ“)</code><br>" \
                               f"<b><a href='https://drive.google.com/drive/folders/{file.get('id')}'>Drive Link</a></b>"
                        if index_url is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{index_url}/{url_path}/'
                            msg += f' <b>| <a href="{url}">Index Link</a></b>'

                    else:
                        msg += f"т<code>{file.get('name')}<br>({self.get_readable_file_size(file.get('size'))})№Ÿ“„</code><br>" \
                               f"<b><a href='https://drive.google.com/uc?id={file.get('id')}&export=download'>Drive Link</a></b>"
                        if index_url is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{index_url}/{url_path}'
                            msg += f' <b>| <a href="{url}">Index Link</a></b>'
                    msg += '<br><br>'
            else:
                msg += "т <code>No Results</code><br><br>"

        telegraph = Telegraph()
        telegraph.create_account(short_name='Asta')
        response = telegraph.create_page(title='LoaderX',
                                         author_name='svr666',
                                         author_url='https://t.me/svr666',
                                         html_content=msg)['path']

        msg = f"<b>Search Results For {fileName} №Ÿ‘‡</b>"
        buttons = button_builder.ButtonMaker()
        buttons.buildbutton("HERE", f"https://telegra.ph/{response}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))
    def drive_list(self, fileName):
        fileName = self.escapes(str(fileName))
        msg = ''
        content_count = 0
        add_title_msg = True
        for INDEX, parent_id in enumerate(DRIVE_ID):
            response = self.drive_query(parent_id, fileName)
            if response:
                if add_title_msg:
                    msg = f'<h3>Search Results for : {fileName}</h3>'
                    add_title_msg = False
                msg += f"————————————<br><b>{DRIVE_NAME[INDEX]}</b><br>————————————<br>"
                for file in response:
                    if file.get(
                            'mimeType'
                    ) == "application/vnd.google-apps.folder":  # Detect Whether Current Entity is a Folder or File.
                        furl = f"https://drive.google.com/drive/folders/{file.get('id')}"
                        msg += f"📁 <code>{file.get('name')}<br>(folder)</code><br>"
                        msg += f"<b><a href={furl}>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}/'
                            msg += f' <b>| <a href="{url}">Index Link</a></b>'
                    elif file.get('mimeType'
                                  ) == 'application/vnd.google-apps.shortcut':
                        msg += f"⁍<a href='https://drive.google.com/drive/folders/{file.get('id')}'>{file.get('name')}" \
                        f"</a> (shortcut)"
                        # Excluded index link as indexes cant download or open these shortcuts
                    else:
                        furl = f"https://drive.google.com/uc?id={file.get('id')}&export=download"
                        msg += f"📄 <code>{file.get('name')}<br>({self.get_readable_file_size(file.get('size'))})</code><br>" \
                        f"<b><a href={furl}>Drive Link</a></b>"
                        if INDEX_URL[INDEX] is not None:
                            url_path = requests.utils.quote(
                                f'{file.get("name")}')
                            url = f'{INDEX_URL[INDEX]}/{url_path}'
                            msg += f'<b> | <a href="{url}">Index Link</a></b>'
                    msg += '<br><br>'
                    content_count += 1
                    if content_count == TELEGRAPHLIMIT:
                        self.telegraph_content.append(msg)
                        msg = ""

        if msg != '':
            self.telegraph_content.append(msg)

        if len(self.telegraph_content) == 0:
            return "No Result Found ❌", None

        for content in self.telegraph_content:
            self.path.append(
                Telegraph(access_token=telegraph_token).create_page(
                    title=TELEGRAPH_CHANGES + ' ' + 'Bot',
                    author_name=TELEGRAPH_CHANGES + ' ' + 'Search Bot',
                    author_url=BOT_SOURCE_CODE,
                    html_content=content)['path'])

        self.num_of_path = len(self.path)
        if self.num_of_path > 1:
            self.edit_telegraph()

        msg = f"<b>Found {content_count} results for <i>{fileName}</i></b>"
        buttons = button_builder.ButtonMaker()
        buttons.buildbutton("🔎 VIEW", f"https://telegra.ph/{self.path[0]}")

        return msg, InlineKeyboardMarkup(buttons.build_menu(1))