Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
anasty17
GitHub Repository: anasty17/mirror-leech-telegram-bot
Path: blob/master/bot/helper/ext_utils/help_messages.py
1641 views
1
from ..telegram_helper.bot_commands import BotCommands
2
from ...core.telegram_manager import TgClient
3
4
mirror = """<b>Send link along with command line or </b>
5
6
/cmd link
7
8
<b>By replying to link/file</b>:
9
10
/cmd -n new name -e -up upload destination
11
12
<b>NOTE:</b>
13
1. Commands that start with <b>qb</b> are ONLY for torrents."""
14
15
yt = """<b>Send link along with command line</b>:
16
17
/cmd link
18
<b>By replying to link</b>:
19
/cmd -n new name -z password -opt x:y|x1:y1
20
21
Check here all supported <a href='https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md'>SITES</a>
22
Check 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."""
23
24
clone = """Send Gdrive|Gdot|Filepress|Filebee|Appdrive|Gdflix link or rclone path along with command or by replying to the link/rc_path by command.
25
Use -sync to use sync method in rclone. Example: /cmd rcl/rclone_path -up rcl/rclone_path/rc -sync"""
26
27
new_name = """<b>New Name</b>: -n
28
29
/cmd link -n new name
30
Note: Doesn't work with torrents"""
31
32
multi_link = """<b>Multi links only by replying to first link/file</b>: -i
33
34
/cmd -i 10(number of links/files)"""
35
36
same_dir = """<b>Move file(s)/folder(s) to new folder</b>: -m
37
38
You can use this arg also to move multiple links/torrents contents to the same directory, so all links will be uploaded together as one task
39
40
/cmd link -m new folder (only one link inside new folder)
41
/cmd -i 10(number of links/files) -m folder name (all links contents in one folder)
42
/cmd -b -m folder name (reply to batch of message/file(each link on new line))
43
44
While using bulk you can also use this arg with different folder name along with the links in message or file batch
45
Example:
46
link1 -m folder1
47
link2 -m folder1
48
link3 -m folder2
49
link4 -m folder2
50
link5 -m folder3
51
link6
52
so link1 and link2 content will be uploaded from same folder which is folder1
53
link3 and link4 content will be uploaded from same folder also which is folder2
54
link5 will uploaded alone inside new folder named folder3
55
link6 will get uploaded normally alone
56
"""
57
58
thumb = """<b>Thumbnail for current task</b>: -t
59
60
/cmd link -t tg-message-link (doc or photo) or none (file without thumb)"""
61
62
split_size = """<b>Split size for current task</b>: -sp
63
64
/cmd link -sp (500mb or 2gb or 4000000000)
65
Note: Only mb and gb are supported or write in bytes without unit!"""
66
67
upload = """<b>Upload Destination</b>: -up
68
69
/cmd link -up rcl/gdl (rcl: to select rclone config, remote & path | gdl: To select token.pickle, gdrive id) using buttons
70
You 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)
71
If DEFAULT_UPLOAD is `rc` then you can pass up: `gd` to upload using gdrive tools to GDRIVE_ID.
72
If DEFAULT_UPLOAD is `gd` then you can pass up: `rc` to upload to RCLONE_PATH.
73
74
If 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.
75
/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>
76
77
To add leech destination:
78
-up id/@username/pm
79
-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)
80
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.
81
-up u:id/@username(u: means leech by user) This incase OWNER added USER_STRING_SESSION.
82
-up h:id/@username(hybrid leech) h: to upload files by bot and user based on file size.
83
-up id/@username|topic_id(leech in specific chat and topic) add | without space and write topic id after chat id or username.
84
85
In 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).
86
DEFAULT_UPLOAD doesn't affect on leech cmds.
87
"""
88
89
user_download = """<b>User Download</b>: link
90
91
/cmd tp:link to download using owner token.pickle incase service account enabled.
92
/cmd sa:link to download using service account incase service account disabled.
93
/cmd tp:gdrive_id to download using token.pickle and file_id incase service account enabled.
94
/cmd sa:gdrive_id to download using service account and file_id incase service account disabled.
95
/cmd mtp:gdrive_id or mtp:link to download using user token.pickle uploaded from usetting
96
/cmd mrcc:remote:path to download using user rclone config uploaded from usetting
97
you can simply edit upload using owner/user token/config from usetting without adding mtp: or mrcc: before the path/id"""
98
99
rcf = """<b>Rclone Flags</b>: -rcf
100
101
/cmd link|path|rcl -up path|rcl -rcf --buffer-size:8M|--drive-starred-only|key|key:value
102
This will override all other flags except --exclude
103
Check here all <a href='https://rclone.org/flags/'>RcloneFlags</a>."""
104
105
bulk = """<b>Bulk Download</b>: -b
106
107
Bulk can be used only by replying to text message or text file contains links separated by new line.
108
Example:
109
link1 -n new name -up remote1:path1 -rcf |key:value|key:value
110
link2 -z -n new name -up remote2:path2
111
link3 -e -n new name -up remote2:path2
112
Reply to this example by this cmd -> /cmd -b(bulk)
113
114
Note: Any arg along with the cmd will be setted to all links
115
/cmd -b -up remote: -z -m folder name (all links contents in one zipped folder uploaded to one destination)
116
so you can't set different upload destinations along with link incase you have added -m along with cmd
117
You 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.
118
The default start is from zero(first link) to inf."""
119
120
rlone_dl = """<b>Rclone Download</b>:
121
122
Treat rclone paths exactly like links
123
/cmd main:dump/ubuntu.iso or rcl(To select config, remote and path)
124
Users can add their own rclone from user settings
125
If you want to add path manually from your config add mrcc: before the path without space
126
/cmd mrcc:main:dump/ubuntu.iso
127
You can simply edit using owner/user config from usetting without adding mrcc: before the path"""
128
129
extract_zip = """<b>Extract/Zip</b>: -e -z
130
131
/cmd link -e password (extract password protected)
132
/cmd link -z password (zip password protected)
133
/cmd link -z password -e (extract and zip password protected)
134
Note: When both extract and zip added with cmd it will extract first and then zip, so always extract first"""
135
136
join = """<b>Join Splitted Files</b>: -j
137
138
This option will only work before extract and zip, so mostly it will be used with -m argument (samedir)
139
By Reply:
140
/cmd -i 3 -j -m folder name
141
/cmd -b -j -m folder name
142
if u have link(folder) have splitted files:
143
/cmd link -j"""
144
145
tg_links = """<b>TG Links</b>:
146
147
Treat links like any direct link
148
Some links need user access so you must add USER_SESSION_STRING for it.
149
Three types of links:
150
Public: https://t.me/channel_name/message_id
151
Private: tg://openmessage?user_id=xxxxxx&message_id=xxxxx
152
Super: https://t.me/c/channel_id/message_id
153
Range: https://t.me/channel_name/first_message_id-last_message_id
154
Range Example: tg://openmessage?user_id=xxxxxx&message_id=555-560 or https://t.me/channel_name/100-150
155
Note: Range link will work only by replying cmd to it"""
156
157
sample_video = """<b>Sample Video</b>: -sv
158
159
Create sample video for one video or folder of videos.
160
/cmd -sv (it will take the default values which 60sec sample duration and part duration is 4sec).
161
You can control those values. Example: /cmd -sv 70:5(sample-duration:part-duration) or /cmd -sv :5 or /cmd -sv 70."""
162
163
screenshot = """<b>ScreenShots</b>: -ss
164
165
Create screenshots for one video or folder of videos.
166
/cmd -ss (it will take the default values which is 10 photos).
167
You can control this value. Example: /cmd -ss 6."""
168
169
seed = """<b>Bittorrent seed</b>: -d
170
171
/cmd link -d ratio:seed_time or by replying to file/link
172
To specify ratio and seed time add -d ratio:time.
173
Example: -d 0.7:10 (ratio and time) or -d 0.7 (only ratio) or -d :10 (only time) where time in minutes"""
174
175
zip_arg = """<b>Zip</b>: -z password
176
177
/cmd link -z (zip)
178
/cmd link -z password (zip password protected)"""
179
180
qual = """<b>Quality Buttons</b>: -s
181
182
In 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.
183
/cmd link -s"""
184
185
yt_opt = """<b>Options</b>: -opt
186
187
/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}]}
188
189
Check 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."""
190
191
convert_media = """<b>Convert Media</b>: -ca -cv
192
/cmd link -ca mp3 -cv mp4 (convert all audios to mp3 and all videos to mp4)
193
/cmd link -ca mp3 (convert all audios to mp3)
194
/cmd link -cv mp4 (convert all videos to mp4)
195
/cmd link -ca mp3 + flac ogg (convert only flac and ogg audios to mp3)
196
/cmd link -cv mkv - webm flv (convert all videos to mp4 except webm and flv)"""
197
198
force_start = """<b>Force Start</b>: -f -fd -fu
199
/cmd link -f (force download and upload)
200
/cmd link -fd (force download only)
201
/cmd link -fu (force upload directly after download finish)"""
202
203
gdrive = """<b>Gdrive</b>: link
204
If DEFAULT_UPLOAD is `rc` then you can pass up: `gd` to upload using gdrive tools to GDRIVE_ID.
205
/cmd gdriveLink or gdl or gdriveId -up gdl or gdriveId or gd
206
/cmd tp:gdriveLink or tp:gdriveId -up tp:gdriveId or gdl or gd (to use token.pickle if service account enabled)
207
/cmd sa:gdriveLink or sa:gdriveId -p sa:gdriveId or gdl or gd (to use service account if service account disabled)
208
/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)
209
You can simply edit using owner/user token from usetting without adding mtp: before the id"""
210
211
rclone_cl = """<b>Rclone</b>: path
212
If DEFAULT_UPLOAD is `gd` then you can pass up: `rc` to upload to RCLONE_PATH.
213
/cmd rcl/rclone_path -up rcl/rclone_path/rc -rcf flagkey:flagvalue|flagkey|flagkey:flagvalue
214
/cmd rcl or rclone_path -up rclone_path or rc or rcl
215
/cmd mrcc:rclone_path -up rcl or rc(if you have add rclone path from usetting) (to use user config)
216
You can simply edit using owner/user config from usetting without adding mrcc: before the path"""
217
218
name_sub = r"""<b>Name Substitution</b>: -ns
219
/cmd link -ns script/code/s | mirror/leech | tea/ /s | clone | cpu/ | \[mltb\]/mltb | \\text\\/text/s
220
This will affect on all files. Format: wordToReplace/wordToReplaceWith/sensitiveCase
221
Word Subtitions. You can add pattern instead of normal text. Timeout: 60 sec
222
NOTE: You must add \ before any character, those are the characters: \^$.|?*+()[]{}-
223
1. script will get replaced by code with sensitive case
224
2. mirror will get replaced by leech
225
4. tea will get replaced by space with sensitive case
226
5. clone will get removed
227
6. cpu will get replaced by space
228
7. [mltb] will get replaced by mltb
229
8. \text\ will get replaced by text with sensitive case
230
"""
231
232
transmission = """<b>Tg transmission</b>: -hl -ut -bt
233
/cmd link -hl (leech by user and bot session with respect to size) (Hybrid Leech)
234
/cmd link -bt (leech by bot session)
235
/cmd link -ut (leech by user)"""
236
237
thumbnail_layout = """Thumbnail Layout: -tl
238
/cmd link -tl 3x3 (widthxheight) 3 photos in row and 3 photos in column"""
239
240
leech_as = """<b>Leech as</b>: -doc -med
241
/cmd link -doc (Leech as document)
242
/cmd link -med (Leech as media)"""
243
244
ffmpeg_cmds = """<b>FFmpeg Commands</b>: -ff
245
list 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.
246
Notes:
247
1. Add <code>-del</code> to the list(s) which you want from the bot to delete the original files after command run complete!
248
3. 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)
249
Examples: ["-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"]
250
Here I will explain how to use mltb.* which is reference to files you want to work on.
251
1. 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.
252
2. 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.
253
3. 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.
254
4. 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.
255
5. Fifth cmd: You can add telegram link for small size input like photo to set watermark"""
256
257
YT_HELP_DICT = {
258
"main": yt,
259
"New-Name": f"{new_name}\nNote: Don't add file extension",
260
"Zip": zip_arg,
261
"Quality": qual,
262
"Options": yt_opt,
263
"Multi-Link": multi_link,
264
"Same-Directory": same_dir,
265
"Thumb": thumb,
266
"Split-Size": split_size,
267
"Upload-Destination": upload,
268
"Rclone-Flags": rcf,
269
"Bulk": bulk,
270
"Sample-Video": sample_video,
271
"Screenshot": screenshot,
272
"Convert-Media": convert_media,
273
"Force-Start": force_start,
274
"Name-Substitute": name_sub,
275
"TG-Transmission": transmission,
276
"Thumb-Layout": thumbnail_layout,
277
"Leech-Type": leech_as,
278
"FFmpeg-Cmds": ffmpeg_cmds,
279
}
280
281
MIRROR_HELP_DICT = {
282
"main": mirror,
283
"New-Name": new_name,
284
"DL-Auth": "<b>Direct link authorization</b>: -au -ap\n\n/cmd link -au username -ap password",
285
"Headers": "<b>Direct link custom headers</b>: -h\n\n/cmd link -h key:value|key1:value1",
286
"Extract/Zip": extract_zip,
287
"Select-Files": "<b>Bittorrent/JDownloader/Sabnzbd File Selection</b>: -s\n\n/cmd link -s or by replying to file/link",
288
"Torrent-Seed": seed,
289
"Multi-Link": multi_link,
290
"Same-Directory": same_dir,
291
"Thumb": thumb,
292
"Split-Size": split_size,
293
"Upload-Destination": upload,
294
"Rclone-Flags": rcf,
295
"Bulk": bulk,
296
"Join": join,
297
"Rclone-DL": rlone_dl,
298
"Tg-Links": tg_links,
299
"Sample-Video": sample_video,
300
"Screenshot": screenshot,
301
"Convert-Media": convert_media,
302
"Force-Start": force_start,
303
"User-Download": user_download,
304
"Name-Substitute": name_sub,
305
"TG-Transmission": transmission,
306
"Thumb-Layout": thumbnail_layout,
307
"Leech-Type": leech_as,
308
"FFmpeg-Cmds": ffmpeg_cmds,
309
}
310
311
CLONE_HELP_DICT = {
312
"main": clone,
313
"Multi-Link": multi_link,
314
"Bulk": bulk,
315
"Gdrive": gdrive,
316
"Rclone": rclone_cl,
317
}
318
319
RSS_HELP_MESSAGE = """
320
Use this format to add feed url:
321
Title1 link (required)
322
Title2 link -c cmd -inf xx -exf xx
323
Title3 link -c cmd -d ratio:time -z password
324
325
-c command -up mrcc:remote:path/subdir -rcf --buffer-size:8M|key|key:value
326
-inf For included words filter.
327
-exf For excluded words filter.
328
-stv true or false (sensitive filter)
329
330
Example: Title https://www.rss-url.com -inf 1080 or 720 or 144p|mkv or mp4|hevc -exf flv or web|xxx
331
This 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.
332
333
Another 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.
334
335
Filter Notes:
336
1. | means and.
337
2. 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).
338
3. You can add `or` and `|` as much as you want.
339
4. 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.
340
Timeout: 60 sec.
341
"""
342
343
PASSWORD_ERROR_MESSAGE = """
344
<b>This link requires a password!</b>
345
- Insert <b>::</b> after the link and write the password after the sign.
346
347
<b>Example:</b> link::my password
348
"""
349
350
user_settings_text = {
351
"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",
352
"LEECH_DUMP_CHAT": """Send leech destination ID/USERNAME/PM.
353
* 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.
354
* u:id/@username(u: means leech by user) This incase OWNER added USER_STRING_SESSION.
355
* h:id/@username(hybrid leech) h: to upload files by bot and user based on file size.
356
* 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""",
357
"LEECH_FILENAME_PREFIX": r"Send Leech Filename Prefix. You can add HTML tags. Example: <code>@mychannel</code>. Timeout: 60 sec",
358
"THUMBNAIL_LAYOUT": "Send thumbnail layout (widthxheight, 2x2, 3x3, 2x4, 4x4, ...). Example: 3x3. Timeout: 60 sec",
359
"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",
360
"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",
361
"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",
362
"INDEX_URL": "Send Index URL. Timeout: 60 sec",
363
"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",
364
"EXCLUDED_EXTENSIONS": "Send excluded extensions separated by space without dot at beginning. Timeout: 60 sec",
365
"INCLUDED_EXTENSIONS": "Send included extensions separated by space without dot at beginning. Timeout: 60 sec",
366
"NAME_SUBSTITUTE": r"""Word Subtitions. You can add pattern instead of normal text. Timeout: 60 sec
367
NOTE: You must add \ before any character, those are the characters: \^$.|?*+()[]{}-
368
Example: script/code/s | mirror/leech | tea/ /s | clone | cpu/ | \[mltb\]/mltb | \\text\\/text/s
369
1. script will get replaced by code with sensitive case
370
2. mirror will get replaced by leech
371
4. tea will get replaced by space with sensitive case
372
5. clone will get removed
373
6. cpu will get replaced by space
374
7. [mltb] will get replaced by mltb
375
8. \text\ will get replaced by text with sensitive case
376
""",
377
"YT_DLP_OPTIONS": """Send dict of YT-DLP Options. Timeout: 60 sec
378
Format: {key: value, key: value, key: value}.
379
Example: {"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}]}
380
Check 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.""",
381
"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.
382
Examples: {"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"]}
383
Notes:
384
- Add `-del` to the list which you want from the bot to delete the original files after command run complete!
385
- To execute one of those lists in bot for example, you must use -ff subtitle (list key) or -ff convert (list key)
386
Here I will explain how to use mltb.* which is reference to files you want to work on.
387
1. 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.
388
2. 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.
389
3. 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.
390
4. 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.
391
5. FFmpeg Variables in last cmd which is metadata ({title}, {title2}, etc...), you can edit them in usetting
392
6. Telegram link for small size inputs like photo to set watermark.""",
393
"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']",
394
}
395
396
397
help_string = f"""
398
NOTE: Try each command without any argument to see more detalis.
399
/{BotCommands.MirrorCommand[0]} or /{BotCommands.MirrorCommand[1]}: Start mirroring to cloud.
400
/{BotCommands.QbMirrorCommand[0]} or /{BotCommands.QbMirrorCommand[1]}: Start Mirroring to cloud using qBittorrent.
401
/{BotCommands.JdMirrorCommand[0]} or /{BotCommands.JdMirrorCommand[1]}: Start Mirroring to cloud using JDownloader.
402
/{BotCommands.NzbMirrorCommand[0]} or /{BotCommands.NzbMirrorCommand[1]}: Start Mirroring to cloud using Sabnzbd.
403
/{BotCommands.YtdlCommand[0]} or /{BotCommands.YtdlCommand[1]}: Mirror yt-dlp supported link.
404
/{BotCommands.LeechCommand[0]} or /{BotCommands.LeechCommand[1]}: Start leeching to Telegram.
405
/{BotCommands.QbLeechCommand[0]} or /{BotCommands.QbLeechCommand[1]}: Start leeching using qBittorrent.
406
/{BotCommands.JdLeechCommand[0]} or /{BotCommands.JdLeechCommand[1]}: Start leeching using JDownloader.
407
/{BotCommands.NzbLeechCommand[0]} or /{BotCommands.NzbLeechCommand[1]}: Start leeching using Sabnzbd.
408
/{BotCommands.YtdlLeechCommand[0]} or /{BotCommands.YtdlLeechCommand[1]}: Leech yt-dlp supported link.
409
/{BotCommands.CloneCommand} [drive_url]: Copy file/folder to Google Drive.
410
/{BotCommands.CountCommand} [drive_url]: Count file/folder of Google Drive.
411
/{BotCommands.DeleteCommand} [drive_url]: Delete file/folder from Google Drive (Only Owner & Sudo).
412
/{BotCommands.UserSetCommand[0]} or /{BotCommands.UserSetCommand[1]} [query]: Users settings.
413
/{BotCommands.BotSetCommand[0]} or /{BotCommands.BotSetCommand[1]} [query]: Bot settings.
414
/{BotCommands.SelectCommand}: Select files from torrents or nzb by gid or reply.
415
/{BotCommands.CancelTaskCommand[0]} or /{BotCommands.CancelTaskCommand[1]} [gid]: Cancel task by gid or reply.
416
/{BotCommands.ForceStartCommand[0]} or /{BotCommands.ForceStartCommand[1]} [gid]: Force start task by gid or reply.
417
/{BotCommands.CancelAllCommand} [query]: Cancel all [status] tasks.
418
/{BotCommands.ListCommand} [query]: Search in Google Drive(s).
419
/{BotCommands.SearchCommand} [query]: Search for torrents with API.
420
/{BotCommands.StatusCommand}: Shows a status of all the downloads.
421
/{BotCommands.StatsCommand}: Show stats of the machine where the bot is hosted in.
422
/{BotCommands.PingCommand}: Check how long it takes to Ping the Bot (Only Owner & Sudo).
423
/{BotCommands.AuthorizeCommand}: Authorize a chat or a user to use the bot (Only Owner & Sudo).
424
/{BotCommands.UnAuthorizeCommand}: Unauthorize a chat or a user to use the bot (Only Owner & Sudo).
425
/{BotCommands.UsersCommand}: show users settings (Only Owner & Sudo).
426
/{BotCommands.AddSudoCommand}: Add sudo user (Only Owner).
427
/{BotCommands.RmSudoCommand}: Remove sudo users (Only Owner).
428
/{BotCommands.RestartCommand}: Restart and update the bot (Only Owner & Sudo).
429
/{BotCommands.LogCommand}: Get a log file of the bot. Handy for getting crash reports (Only Owner & Sudo).
430
/{BotCommands.ShellCommand}: Run shell commands (Only Owner).
431
/{BotCommands.AExecCommand}: Exec async functions (Only Owner).
432
/{BotCommands.ExecCommand}: Exec sync functions (Only Owner).
433
/{BotCommands.ClearLocalsCommand}: Clear {BotCommands.AExecCommand} or {BotCommands.ExecCommand} locals (Only Owner).
434
/{BotCommands.RssCommand}: RSS Menu.
435
"""
436
437