Path: blob/master/bot/helper/ext_utils/help_messages.py
1641 views
from ..telegram_helper.bot_commands import BotCommands1from ...core.telegram_manager import TgClient23mirror = """<b>Send link along with command line or </b>45/cmd link67<b>By replying to link/file</b>:89/cmd -n new name -e -up upload destination1011<b>NOTE:</b>121. Commands that start with <b>qb</b> are ONLY for torrents."""1314yt = """<b>Send link along with command line</b>:1516/cmd link17<b>By replying to link</b>:18/cmd -n new name -z password -opt x:y|x1:y11920Check here all supported <a href='https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md'>SITES</a>21Check all yt-dlp api options from this <a href='https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L212'>FILE</a> or use this <a href='https://t.me/mltb_official_channel/177'>script</a> to convert cli arguments to api options."""2223clone = """Send Gdrive|Gdot|Filepress|Filebee|Appdrive|Gdflix link or rclone path along with command or by replying to the link/rc_path by command.24Use -sync to use sync method in rclone. Example: /cmd rcl/rclone_path -up rcl/rclone_path/rc -sync"""2526new_name = """<b>New Name</b>: -n2728/cmd link -n new name29Note: Doesn't work with torrents"""3031multi_link = """<b>Multi links only by replying to first link/file</b>: -i3233/cmd -i 10(number of links/files)"""3435same_dir = """<b>Move file(s)/folder(s) to new folder</b>: -m3637You can use this arg also to move multiple links/torrents contents to the same directory, so all links will be uploaded together as one task3839/cmd link -m new folder (only one link inside new folder)40/cmd -i 10(number of links/files) -m folder name (all links contents in one folder)41/cmd -b -m folder name (reply to batch of message/file(each link on new line))4243While using bulk you can also use this arg with different folder name along with the links in message or file batch44Example:45link1 -m folder146link2 -m folder147link3 -m folder248link4 -m folder249link5 -m folder350link651so link1 and link2 content will be uploaded from same folder which is folder152link3 and link4 content will be uploaded from same folder also which is folder253link5 will uploaded alone inside new folder named folder354link6 will get uploaded normally alone55"""5657thumb = """<b>Thumbnail for current task</b>: -t5859/cmd link -t tg-message-link (doc or photo) or none (file without thumb)"""6061split_size = """<b>Split size for current task</b>: -sp6263/cmd link -sp (500mb or 2gb or 4000000000)64Note: Only mb and gb are supported or write in bytes without unit!"""6566upload = """<b>Upload Destination</b>: -up6768/cmd link -up rcl/gdl (rcl: to select rclone config, remote & path | gdl: To select token.pickle, gdrive id) using buttons69You can directly add the upload path: -up remote:dir/subdir or -up Gdrive_id or -up id/username (telegram) or -up id/username|topic_id (telegram)70If DEFAULT_UPLOAD is `rc` then you can pass up: `gd` to upload using gdrive tools to GDRIVE_ID.71If DEFAULT_UPLOAD is `gd` then you can pass up: `rc` to upload to RCLONE_PATH.7273If you want to add path or gdrive manually from your config/token (UPLOADED FROM USETTING) add mrcc: for rclone and mtp: before the path/gdrive_id without space.74/cmd link -up mrcc:main:dump or -up mtp:gdrive_id <strong>or you can simply edit upload using owner/user token/config from usetting without adding mtp: or mrcc: before the upload path/id</strong>7576To add leech destination:77-up id/@username/pm78-up b:id/@username/pm (b: means leech by bot) (id or username of the chat or write pm means private message so bot will send the files in private to you)79when you should use b:(leech by bot)? When your default settings is leech by user and you want to leech by bot for specific task.80-up u:id/@username(u: means leech by user) This incase OWNER added USER_STRING_SESSION.81-up h:id/@username(hybrid leech) h: to upload files by bot and user based on file size.82-up id/@username|topic_id(leech in specific chat and topic) add | without space and write topic id after chat id or username.8384In case you want to specify whether using token.pickle or service accounts you can add tp:gdrive_id (using token.pickle) or sa:gdrive_id (using service accounts) or mtp:gdrive_id (using token.pickle uploaded from usetting).85DEFAULT_UPLOAD doesn't affect on leech cmds.86"""8788user_download = """<b>User Download</b>: link8990/cmd tp:link to download using owner token.pickle incase service account enabled.91/cmd sa:link to download using service account incase service account disabled.92/cmd tp:gdrive_id to download using token.pickle and file_id incase service account enabled.93/cmd sa:gdrive_id to download using service account and file_id incase service account disabled.94/cmd mtp:gdrive_id or mtp:link to download using user token.pickle uploaded from usetting95/cmd mrcc:remote:path to download using user rclone config uploaded from usetting96you can simply edit upload using owner/user token/config from usetting without adding mtp: or mrcc: before the path/id"""9798rcf = """<b>Rclone Flags</b>: -rcf99100/cmd link|path|rcl -up path|rcl -rcf --buffer-size:8M|--drive-starred-only|key|key:value101This will override all other flags except --exclude102Check here all <a href='https://rclone.org/flags/'>RcloneFlags</a>."""103104bulk = """<b>Bulk Download</b>: -b105106Bulk can be used only by replying to text message or text file contains links separated by new line.107Example:108link1 -n new name -up remote1:path1 -rcf |key:value|key:value109link2 -z -n new name -up remote2:path2110link3 -e -n new name -up remote2:path2111Reply to this example by this cmd -> /cmd -b(bulk)112113Note: Any arg along with the cmd will be setted to all links114/cmd -b -up remote: -z -m folder name (all links contents in one zipped folder uploaded to one destination)115so you can't set different upload destinations along with link incase you have added -m along with cmd116You can set start and end of the links from the bulk like seed, with -b start:end or only end by -b :end or only start by -b start.117The default start is from zero(first link) to inf."""118119rlone_dl = """<b>Rclone Download</b>:120121Treat rclone paths exactly like links122/cmd main:dump/ubuntu.iso or rcl(To select config, remote and path)123Users can add their own rclone from user settings124If you want to add path manually from your config add mrcc: before the path without space125/cmd mrcc:main:dump/ubuntu.iso126You can simply edit using owner/user config from usetting without adding mrcc: before the path"""127128extract_zip = """<b>Extract/Zip</b>: -e -z129130/cmd link -e password (extract password protected)131/cmd link -z password (zip password protected)132/cmd link -z password -e (extract and zip password protected)133Note: When both extract and zip added with cmd it will extract first and then zip, so always extract first"""134135join = """<b>Join Splitted Files</b>: -j136137This option will only work before extract and zip, so mostly it will be used with -m argument (samedir)138By Reply:139/cmd -i 3 -j -m folder name140/cmd -b -j -m folder name141if u have link(folder) have splitted files:142/cmd link -j"""143144tg_links = """<b>TG Links</b>:145146Treat links like any direct link147Some links need user access so you must add USER_SESSION_STRING for it.148Three types of links:149Public: https://t.me/channel_name/message_id150Private: tg://openmessage?user_id=xxxxxx&message_id=xxxxx151Super: https://t.me/c/channel_id/message_id152Range: https://t.me/channel_name/first_message_id-last_message_id153Range Example: tg://openmessage?user_id=xxxxxx&message_id=555-560 or https://t.me/channel_name/100-150154Note: Range link will work only by replying cmd to it"""155156sample_video = """<b>Sample Video</b>: -sv157158Create sample video for one video or folder of videos.159/cmd -sv (it will take the default values which 60sec sample duration and part duration is 4sec).160You can control those values. Example: /cmd -sv 70:5(sample-duration:part-duration) or /cmd -sv :5 or /cmd -sv 70."""161162screenshot = """<b>ScreenShots</b>: -ss163164Create screenshots for one video or folder of videos.165/cmd -ss (it will take the default values which is 10 photos).166You can control this value. Example: /cmd -ss 6."""167168seed = """<b>Bittorrent seed</b>: -d169170/cmd link -d ratio:seed_time or by replying to file/link171To specify ratio and seed time add -d ratio:time.172Example: -d 0.7:10 (ratio and time) or -d 0.7 (only ratio) or -d :10 (only time) where time in minutes"""173174zip_arg = """<b>Zip</b>: -z password175176/cmd link -z (zip)177/cmd link -z password (zip password protected)"""178179qual = """<b>Quality Buttons</b>: -s180181In case default quality added from yt-dlp options using format option and you need to select quality for specific link or links with multi links feature.182/cmd link -s"""183184yt_opt = """<b>Options</b>: -opt185186/cmd link -opt {"format": "bv*+mergeall[vcodec=none]", "nocheckcertificate": True, "playliststart": 10, "fragment_retries": float("inf"), "matchtitle": "S13", "writesubtitles": True, "live_from_start": True, "postprocessor_args": {"ffmpeg": ["-threads", "4"]}, "wait_for_video": (5, 100), "download_ranges": [{"start_time": 0, "end_time": 10}]}187188Check all yt-dlp api options from this <a href='https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L184'>FILE</a> or use this <a href='https://t.me/mltb_official_channel/177'>script</a> to convert cli arguments to api options."""189190convert_media = """<b>Convert Media</b>: -ca -cv191/cmd link -ca mp3 -cv mp4 (convert all audios to mp3 and all videos to mp4)192/cmd link -ca mp3 (convert all audios to mp3)193/cmd link -cv mp4 (convert all videos to mp4)194/cmd link -ca mp3 + flac ogg (convert only flac and ogg audios to mp3)195/cmd link -cv mkv - webm flv (convert all videos to mp4 except webm and flv)"""196197force_start = """<b>Force Start</b>: -f -fd -fu198/cmd link -f (force download and upload)199/cmd link -fd (force download only)200/cmd link -fu (force upload directly after download finish)"""201202gdrive = """<b>Gdrive</b>: link203If DEFAULT_UPLOAD is `rc` then you can pass up: `gd` to upload using gdrive tools to GDRIVE_ID.204/cmd gdriveLink or gdl or gdriveId -up gdl or gdriveId or gd205/cmd tp:gdriveLink or tp:gdriveId -up tp:gdriveId or gdl or gd (to use token.pickle if service account enabled)206/cmd sa:gdriveLink or sa:gdriveId -p sa:gdriveId or gdl or gd (to use service account if service account disabled)207/cmd mtp:gdriveLink or mtp:gdriveId -up mtp:gdriveId or gdl or gd(if you have added upload gdriveId from usetting) (to use user token.pickle that uploaded by usetting)208You can simply edit using owner/user token from usetting without adding mtp: before the id"""209210rclone_cl = """<b>Rclone</b>: path211If DEFAULT_UPLOAD is `gd` then you can pass up: `rc` to upload to RCLONE_PATH.212/cmd rcl/rclone_path -up rcl/rclone_path/rc -rcf flagkey:flagvalue|flagkey|flagkey:flagvalue213/cmd rcl or rclone_path -up rclone_path or rc or rcl214/cmd mrcc:rclone_path -up rcl or rc(if you have add rclone path from usetting) (to use user config)215You can simply edit using owner/user config from usetting without adding mrcc: before the path"""216217name_sub = r"""<b>Name Substitution</b>: -ns218/cmd link -ns script/code/s | mirror/leech | tea/ /s | clone | cpu/ | \[mltb\]/mltb | \\text\\/text/s219This will affect on all files. Format: wordToReplace/wordToReplaceWith/sensitiveCase220Word Subtitions. You can add pattern instead of normal text. Timeout: 60 sec221NOTE: You must add \ before any character, those are the characters: \^$.|?*+()[]{}-2221. script will get replaced by code with sensitive case2232. mirror will get replaced by leech2244. tea will get replaced by space with sensitive case2255. clone will get removed2266. cpu will get replaced by space2277. [mltb] will get replaced by mltb2288. \text\ will get replaced by text with sensitive case229"""230231transmission = """<b>Tg transmission</b>: -hl -ut -bt232/cmd link -hl (leech by user and bot session with respect to size) (Hybrid Leech)233/cmd link -bt (leech by bot session)234/cmd link -ut (leech by user)"""235236thumbnail_layout = """Thumbnail Layout: -tl237/cmd link -tl 3x3 (widthxheight) 3 photos in row and 3 photos in column"""238239leech_as = """<b>Leech as</b>: -doc -med240/cmd link -doc (Leech as document)241/cmd link -med (Leech as media)"""242243ffmpeg_cmds = """<b>FFmpeg Commands</b>: -ff244list of lists of ffmpeg commands. You can set multiple ffmpeg commands for all files before upload. Don't write ffmpeg at beginning, start directly with the arguments.245Notes:2461. Add <code>-del</code> to the list(s) which you want from the bot to delete the original files after command run complete!2473. To execute one of pre-added lists in bot like: ({"subtitle": ["-i mltb.mkv -c copy -c:s srt mltb.mkv"]}), you must use -ff subtitle (list key)248Examples: ["-i mltb.mkv -c copy -c:s srt mltb.mkv", "-i mltb.video -c copy -c:s srt mltb", "-i mltb.m4a -c:a libmp3lame -q:a 2 mltb.mp3", "-i mltb.audio -c:a libmp3lame -q:a 2 mltb.mp3", "-i mltb -map 0:a -c copy mltb.mka -map 0:s -c copy mltb.srt", "-i mltb -i tg://openmessage?user_id=5272663208&message_id=322801 -filter_complex 'overlay=W-w-10:H-h-10' -c:a copy mltb"]249Here I will explain how to use mltb.* which is reference to files you want to work on.2501. First cmd: the input is mltb.mkv so this cmd will work only on mkv videos and the output is mltb.mkv also so all outputs is mkv. -del will delete the original media after complete run of the cmd.2512. Second cmd: the input is mltb.video so this cmd will work on all videos and the output is only mltb so the extension is same as input files.2523. Third cmd: the input in mltb.m4a so this cmd will work only on m4a audios and the output is mltb.mp3 so the output extension is mp3.2534. Fourth cmd: the input is mltb.audio so this cmd will work on all audios and the output is mltb.mp3 so the output extension is mp3.2545. Fifth cmd: You can add telegram link for small size input like photo to set watermark"""255256YT_HELP_DICT = {257"main": yt,258"New-Name": f"{new_name}\nNote: Don't add file extension",259"Zip": zip_arg,260"Quality": qual,261"Options": yt_opt,262"Multi-Link": multi_link,263"Same-Directory": same_dir,264"Thumb": thumb,265"Split-Size": split_size,266"Upload-Destination": upload,267"Rclone-Flags": rcf,268"Bulk": bulk,269"Sample-Video": sample_video,270"Screenshot": screenshot,271"Convert-Media": convert_media,272"Force-Start": force_start,273"Name-Substitute": name_sub,274"TG-Transmission": transmission,275"Thumb-Layout": thumbnail_layout,276"Leech-Type": leech_as,277"FFmpeg-Cmds": ffmpeg_cmds,278}279280MIRROR_HELP_DICT = {281"main": mirror,282"New-Name": new_name,283"DL-Auth": "<b>Direct link authorization</b>: -au -ap\n\n/cmd link -au username -ap password",284"Headers": "<b>Direct link custom headers</b>: -h\n\n/cmd link -h key:value|key1:value1",285"Extract/Zip": extract_zip,286"Select-Files": "<b>Bittorrent/JDownloader/Sabnzbd File Selection</b>: -s\n\n/cmd link -s or by replying to file/link",287"Torrent-Seed": seed,288"Multi-Link": multi_link,289"Same-Directory": same_dir,290"Thumb": thumb,291"Split-Size": split_size,292"Upload-Destination": upload,293"Rclone-Flags": rcf,294"Bulk": bulk,295"Join": join,296"Rclone-DL": rlone_dl,297"Tg-Links": tg_links,298"Sample-Video": sample_video,299"Screenshot": screenshot,300"Convert-Media": convert_media,301"Force-Start": force_start,302"User-Download": user_download,303"Name-Substitute": name_sub,304"TG-Transmission": transmission,305"Thumb-Layout": thumbnail_layout,306"Leech-Type": leech_as,307"FFmpeg-Cmds": ffmpeg_cmds,308}309310CLONE_HELP_DICT = {311"main": clone,312"Multi-Link": multi_link,313"Bulk": bulk,314"Gdrive": gdrive,315"Rclone": rclone_cl,316}317318RSS_HELP_MESSAGE = """319Use this format to add feed url:320Title1 link (required)321Title2 link -c cmd -inf xx -exf xx322Title3 link -c cmd -d ratio:time -z password323324-c command -up mrcc:remote:path/subdir -rcf --buffer-size:8M|key|key:value325-inf For included words filter.326-exf For excluded words filter.327-stv true or false (sensitive filter)328329Example: Title https://www.rss-url.com -inf 1080 or 720 or 144p|mkv or mp4|hevc -exf flv or web|xxx330This filter will parse links that its titles contain `(1080 or 720 or 144p) and (mkv or mp4) and hevc` and doesn't contain (flv or web) and xxx words. You can add whatever you want.331332Another example: -inf 1080 or 720p|.web. or .webrip.|hvec or x264. This will parse titles that contain ( 1080 or 720p) and (.web. or .webrip.) and (hvec or x264). I have added space before and after 1080 to avoid wrong matching. If this `10805695` number in title it will match 1080 if added 1080 without spaces after it.333334Filter Notes:3351. | means and.3362. Add `or` between similar keys, you can add it between qualities or between extensions, so don't add filter like this f: 1080|mp4 or 720|web because this will parse 1080 and (mp4 or 720) and web ... not (1080 and mp4) or (720 and web).3373. You can add `or` and `|` as much as you want.3384. Take a look at the title if it has a static special character after or before the qualities or extensions or whatever and use them in the filter to avoid wrong match.339Timeout: 60 sec.340"""341342PASSWORD_ERROR_MESSAGE = """343<b>This link requires a password!</b>344- Insert <b>::</b> after the link and write the password after the sign.345346<b>Example:</b> link::my password347"""348349user_settings_text = {350"LEECH_SPLIT_SIZE": f"Send Leech split size in bytes or use gb or mb. Example: 40000000 or 2.5gb or 1000mb. IS_PREMIUM_USER: {TgClient.IS_PREMIUM_USER}. Timeout: 60 sec",351"LEECH_DUMP_CHAT": """Send leech destination ID/USERNAME/PM.352* b:id/@username/pm (b: means leech by bot) (id or username of the chat or write pm means private message so bot will send the files in private to you) when you should use b:(leech by bot)? When your default settings is leech by user and you want to leech by bot for specific task.353* u:id/@username(u: means leech by user) This incase OWNER added USER_STRING_SESSION.354* h:id/@username(hybrid leech) h: to upload files by bot and user based on file size.355* id/@username|topic_id(leech in specific chat and topic) add | without space and write topic id after chat id or username. Timeout: 60 sec""",356"LEECH_FILENAME_PREFIX": r"Send Leech Filename Prefix. You can add HTML tags. Example: <code>@mychannel</code>. Timeout: 60 sec",357"THUMBNAIL_LAYOUT": "Send thumbnail layout (widthxheight, 2x2, 3x3, 2x4, 4x4, ...). Example: 3x3. Timeout: 60 sec",358"RCLONE_PATH": "Send Rclone Path. If you want to use your rclone config edit using owner/user config from usetting or add mrcc: before rclone path. Example mrcc:remote:folder. Timeout: 60 sec",359"RCLONE_FLAGS": "key:value|key|key|key:value . Check here all <a href='https://rclone.org/flags/'>RcloneFlags</a>\nEx: --buffer-size:8M|--drive-starred-only",360"GDRIVE_ID": "Send Gdrive ID. If you want to use your token.pickle edit using owner/user token from usetting or add mtp: before the id. Example: mtp:F435RGGRDXXXXXX . Timeout: 60 sec",361"INDEX_URL": "Send Index URL. Timeout: 60 sec",362"UPLOAD_PATHS": "Send Dict of keys that have path values. Example: {'path 1': 'remote:rclonefolder', 'path 2': 'gdrive1 id', 'path 3': 'tg chat id', 'path 4': 'mrcc:remote:', 'path 5': b:@username} . Timeout: 60 sec",363"EXCLUDED_EXTENSIONS": "Send excluded extensions separated by space without dot at beginning. Timeout: 60 sec",364"INCLUDED_EXTENSIONS": "Send included extensions separated by space without dot at beginning. Timeout: 60 sec",365"NAME_SUBSTITUTE": r"""Word Subtitions. You can add pattern instead of normal text. Timeout: 60 sec366NOTE: You must add \ before any character, those are the characters: \^$.|?*+()[]{}-367Example: script/code/s | mirror/leech | tea/ /s | clone | cpu/ | \[mltb\]/mltb | \\text\\/text/s3681. script will get replaced by code with sensitive case3692. mirror will get replaced by leech3704. tea will get replaced by space with sensitive case3715. clone will get removed3726. cpu will get replaced by space3737. [mltb] will get replaced by mltb3748. \text\ will get replaced by text with sensitive case375""",376"YT_DLP_OPTIONS": """Send dict of YT-DLP Options. Timeout: 60 sec377Format: {key: value, key: value, key: value}.378Example: {"format": "bv*+mergeall[vcodec=none]", "nocheckcertificate": True, "playliststart": 10, "fragment_retries": float("inf"), "matchtitle": "S13", "writesubtitles": True, "live_from_start": True, "postprocessor_args": {"ffmpeg": ["-threads", "4"]}, "wait_for_video": (5, 100), "download_ranges": [{"start_time": 0, "end_time": 10}]}379Check all yt-dlp api options from this <a href='https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L184'>FILE</a> or use this <a href='https://t.me/mltb_official_channel/177'>script</a> to convert cli arguments to api options.""",380"FFMPEG_CMDS": """Dict of list values of ffmpeg commands. You can set multiple ffmpeg commands for all files before upload. Don't write ffmpeg at beginning, start directly with the arguments.381Examples: {"subtitle": ["-i mltb.mkv -c copy -c:s srt mltb.mkv", "-i mltb.video -c copy -c:s srt mltb"], "convert": ["-i mltb.m4a -c:a libmp3lame -q:a 2 mltb.mp3", "-i mltb.audio -c:a libmp3lame -q:a 2 mltb.mp3"], "extract": ["-i mltb -map 0:a -c copy mltb.mka -map 0:s -c copy mltb.srt"], "metadata": ["-i mltb.mkv -map 0 -map -0:v:1 -map -0:s -map 0:s:0 -map -0:v:m:attachment -c copy -metadata:s:v:0 title={title} -metadata:s:a:0 title={title} -metadata:s:a:1 title={title2} -metadata:s:a:2 title={title2} -c:s srt -metadata:s:s:0 title={title3} mltb -y -del"], "watermark": ["-i mltb -i tg://openmessage?user_id=5272663208&message_id=322801 -filter_complex 'overlay=W-w-10:H-h-10' -c:a copy mltb"]}382Notes:383- Add `-del` to the list which you want from the bot to delete the original files after command run complete!384- To execute one of those lists in bot for example, you must use -ff subtitle (list key) or -ff convert (list key)385Here I will explain how to use mltb.* which is reference to files you want to work on.3861. First cmd: the input is mltb.mkv so this cmd will work only on mkv videos and the output is mltb.mkv also so all outputs is mkv. -del will delete the original media after complete run of the cmd.3872. Second cmd: the input is mltb.video so this cmd will work on all videos and the output is only mltb so the extension is same as input files.3883. Third cmd: the input in mltb.m4a so this cmd will work only on m4a audios and the output is mltb.mp3 so the output extension is mp3.3894. Fourth cmd: the input is mltb.audio so this cmd will work on all audios and the output is mltb.mp3 so the output extension is mp3.3905. FFmpeg Variables in last cmd which is metadata ({title}, {title2}, etc...), you can edit them in usetting3916. Telegram link for small size inputs like photo to set watermark.""",392"CLONE_DUMP_CHATS": "Send List/Int/Str Chat_id/username|thread_id. Example: -100xxxx555|5 or @dumpchat|8 or @mltb_dump or pm or List like: [-100xxx885552|6, '@username', 65585541254, 'pm']",393}394395396help_string = f"""397NOTE: Try each command without any argument to see more detalis.398/{BotCommands.MirrorCommand[0]} or /{BotCommands.MirrorCommand[1]}: Start mirroring to cloud.399/{BotCommands.QbMirrorCommand[0]} or /{BotCommands.QbMirrorCommand[1]}: Start Mirroring to cloud using qBittorrent.400/{BotCommands.JdMirrorCommand[0]} or /{BotCommands.JdMirrorCommand[1]}: Start Mirroring to cloud using JDownloader.401/{BotCommands.NzbMirrorCommand[0]} or /{BotCommands.NzbMirrorCommand[1]}: Start Mirroring to cloud using Sabnzbd.402/{BotCommands.YtdlCommand[0]} or /{BotCommands.YtdlCommand[1]}: Mirror yt-dlp supported link.403/{BotCommands.LeechCommand[0]} or /{BotCommands.LeechCommand[1]}: Start leeching to Telegram.404/{BotCommands.QbLeechCommand[0]} or /{BotCommands.QbLeechCommand[1]}: Start leeching using qBittorrent.405/{BotCommands.JdLeechCommand[0]} or /{BotCommands.JdLeechCommand[1]}: Start leeching using JDownloader.406/{BotCommands.NzbLeechCommand[0]} or /{BotCommands.NzbLeechCommand[1]}: Start leeching using Sabnzbd.407/{BotCommands.YtdlLeechCommand[0]} or /{BotCommands.YtdlLeechCommand[1]}: Leech yt-dlp supported link.408/{BotCommands.CloneCommand} [drive_url]: Copy file/folder to Google Drive.409/{BotCommands.CountCommand} [drive_url]: Count file/folder of Google Drive.410/{BotCommands.DeleteCommand} [drive_url]: Delete file/folder from Google Drive (Only Owner & Sudo).411/{BotCommands.UserSetCommand[0]} or /{BotCommands.UserSetCommand[1]} [query]: Users settings.412/{BotCommands.BotSetCommand[0]} or /{BotCommands.BotSetCommand[1]} [query]: Bot settings.413/{BotCommands.SelectCommand}: Select files from torrents or nzb by gid or reply.414/{BotCommands.CancelTaskCommand[0]} or /{BotCommands.CancelTaskCommand[1]} [gid]: Cancel task by gid or reply.415/{BotCommands.ForceStartCommand[0]} or /{BotCommands.ForceStartCommand[1]} [gid]: Force start task by gid or reply.416/{BotCommands.CancelAllCommand} [query]: Cancel all [status] tasks.417/{BotCommands.ListCommand} [query]: Search in Google Drive(s).418/{BotCommands.SearchCommand} [query]: Search for torrents with API.419/{BotCommands.StatusCommand}: Shows a status of all the downloads.420/{BotCommands.StatsCommand}: Show stats of the machine where the bot is hosted in.421/{BotCommands.PingCommand}: Check how long it takes to Ping the Bot (Only Owner & Sudo).422/{BotCommands.AuthorizeCommand}: Authorize a chat or a user to use the bot (Only Owner & Sudo).423/{BotCommands.UnAuthorizeCommand}: Unauthorize a chat or a user to use the bot (Only Owner & Sudo).424/{BotCommands.UsersCommand}: show users settings (Only Owner & Sudo).425/{BotCommands.AddSudoCommand}: Add sudo user (Only Owner).426/{BotCommands.RmSudoCommand}: Remove sudo users (Only Owner).427/{BotCommands.RestartCommand}: Restart and update the bot (Only Owner & Sudo).428/{BotCommands.LogCommand}: Get a log file of the bot. Handy for getting crash reports (Only Owner & Sudo).429/{BotCommands.ShellCommand}: Run shell commands (Only Owner).430/{BotCommands.AExecCommand}: Exec async functions (Only Owner).431/{BotCommands.ExecCommand}: Exec sync functions (Only Owner).432/{BotCommands.ClearLocalsCommand}: Clear {BotCommands.AExecCommand} or {BotCommands.ExecCommand} locals (Only Owner).433/{BotCommands.RssCommand}: RSS Menu.434"""435436437