azils3 commited on
Commit
d0e4138
·
verified ·
1 Parent(s): 7b04e42

Update plugins/commands.py

Browse files
Files changed (1) hide show
  1. plugins/commands.py +76 -207
plugins/commands.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import os, re, json, base64, logging, random, asyncio
2
 
3
  from Script import script
@@ -6,7 +7,7 @@ from pyrogram import Client, filters, enums
6
  from pyrogram.errors import ChatAdminRequired, FloodWait
7
  from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
8
  from database.ia_filterdb import Media, get_file_details, unpack_new_file_id
9
- from info import CHANNELS, ADMINS, AUTH_CHANNEL, LOG_CHANNEL, PICS, BATCH_FILE_CAPTION, CUSTOM_FILE_CAPTION, PROTECT_CONTENT, START_MESSAGE, FORCE_SUB_TEXT, SUPPORT_CHAT
10
  from utils import get_settings, get_size, is_subscribed, save_group_settings, temp
11
  from database.connections_mdb import active_connection
12
 
@@ -25,22 +26,50 @@ async def start(client, message):
25
  await asyncio.sleep(2)
26
  if not await db.get_chat(message.chat.id):
27
  total = await client.get_chat_members_count(message.chat.id)
28
- await client.send_message(LOG_CHANNEL, script.LOG_TEXT_G.format(a=message.chat.title, b=message.chat.id, c=message.chat.username, d=total, f=client.mention, e="Unknown"))
29
  await db.add_chat(message.chat.id, message.chat.title, message.chat.username)
30
  return
31
  if not await db.is_user_exist(message.from_user.id):
32
  await db.add_user(message.from_user.id, message.from_user.first_name)
33
  await client.send_message(LOG_CHANNEL, script.LOG_TEXT_P.format(message.from_user.id, message.from_user.mention, message.from_user.username, temp.U_NAME))
34
  if len(message.command) != 2:
35
- buttons = [[
36
- InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
 
 
 
 
 
 
 
 
 
37
  ],[
38
- InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
39
- InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
40
- ],[
41
- InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
42
- InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
43
- ]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  m = await message.reply_sticker("CAACAgUAAxkBAAEBvlVk7YKnYxIHVnKW2PUwoibIR2ygGAACBAADwSQxMYnlHW4Ls8gQHgQ")
45
  await asyncio.sleep(2)
46
  await message.reply_photo(photo=random.choice(PICS), caption=START_MESSAGE.format(user=message.from_user.mention, bot=client.mention), reply_markup=InlineKeyboardMarkup(buttons), parse_mode=enums.ParseMode.HTML)
@@ -68,15 +97,43 @@ async def start(client, message):
68
  return await client.send_message(chat_id=message.from_user.id, text=script.FORCE_SUB_TEXT, reply_markup=InlineKeyboardMarkup(btn), parse_mode=enums.ParseMode.DEFAULT)
69
 
70
  if len(message.command) == 2 and message.command[1] in ["subscribe", "error", "okay", "help"]:
71
- buttons = [[
72
- InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
 
 
 
 
 
 
 
 
 
73
  ],[
74
- InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
75
- InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
76
- ],[
77
- InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
78
- InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
79
- ]]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  m = await message.reply_sticker("CAACAgUAAxkBAAEBvlVk7YKnYxIHVnKW2PUwoibIR2ygGAACBAADwSQxMYnlHW4Ls8gQHgQ")
81
  await asyncio.sleep(2)
82
  await message.reply_photo(photo=random.choice(PICS), caption=START_MESSAGE.format(user=message.from_user.mention, bot=client.mention), reply_markup=InlineKeyboardMarkup(buttons), parse_mode=enums.ParseMode.HTML)
@@ -201,192 +258,4 @@ async def start(client, message):
201
  f_caption=f_caption
202
  if f_caption is None:
203
  f_caption = f"{files.file_name}"
204
- await client.send_cached_media(chat_id=message.from_user.id, file_id=file_id, caption=f_caption, protect_content=True if pre == 'filep' else False,)
205
-
206
-
207
-
208
- @Client.on_message(filters.command('channel') & filters.user(ADMINS))
209
- async def channel_info(bot, message):
210
- if isinstance(CHANNELS, (int, str)): channels = [CHANNELS]
211
- elif isinstance(CHANNELS, list): channels = CHANNELS
212
- else: raise ValueError("Unexpected Type Of CHANNELS")
213
- text = '📑 **Indexed channels/groups**\n'
214
- for channel in channels:
215
- chat = await bot.get_chat(channel)
216
- if chat.username: text += '\n@' + chat.username
217
- else: text += '\n' + chat.title or chat.first_name
218
- text += f'\n\n**Total:** {len(CHANNELS)}'
219
- if len(text) < 4096: await message.reply(text)
220
- else:
221
- file = 'Indexed channels.txt'
222
- with open(file, 'w') as f:
223
- f.write(text)
224
- await message.reply_document(file)
225
- os.remove(file)
226
-
227
-
228
- @Client.on_message(filters.command('delete') & filters.user(ADMINS))
229
- async def delete(bot, message):
230
- reply = message.reply_to_message
231
- if reply and reply.media: msg = await message.reply("Processing...⏳", quote=True)
232
- else: return await message.reply('Reply to file with /delete which you want to delete', quote=True)
233
- for file_type in ("document", "video", "audio"):
234
- media = getattr(reply, file_type, None)
235
- if media is not None: break
236
- else: return await msg.edit('This Is Not Supported File Format')
237
- file_id, file_ref = unpack_new_file_id(media.file_id)
238
- result = await Media.collection.delete_one({'_id': file_id})
239
- if result.deleted_count: await msg.edit('File Is Successfully Deleted From Database')
240
- else:
241
- file_name = re.sub(r"(_|\-|\.|\+)", " ", str(media.file_name))
242
- result = await Media.collection.delete_many({
243
- 'file_name': file_name,
244
- 'file_size': media.file_size,
245
- 'mime_type': media.mime_type
246
- })
247
- if result.deleted_count: await msg.edit('File Is Successfully Deleted From Database')
248
- else:
249
- result = await Media.collection.delete_many({
250
- 'file_name': media.file_name,
251
- 'file_size': media.file_size,
252
- 'mime_type': media.mime_type
253
- })
254
- if result.deleted_count: await msg.edit('File Is Successfully Deleted From Database')
255
- else: await msg.edit('File Not Found In Database')
256
-
257
-
258
- @Client.on_message(filters.command('deleteall') & filters.user(ADMINS))
259
- async def delete_all_index(bot, message):
260
- button = [[
261
- InlineKeyboardButton("YES", callback_data="autofilter_delete")
262
- ],[
263
- InlineKeyboardButton("CANCEL", callback_data="close_data")
264
- ]]
265
- await message.reply_text('This Will Delete All Indexed Files.\ndo You Want To Continue??', quote=True, reply_markup=InlineKeyboardMarkup(button))
266
-
267
-
268
- @Client.on_callback_query(filters.regex(r'^autofilter_delete'))
269
- async def delete_all_index_confirm(bot, message):
270
- await Media.collection.drop()
271
- await message.message.edit('Succesfully Deleted All The Indexed Files.')
272
-
273
-
274
- @Client.on_message(filters.command('settings'))
275
- async def settings(client, message):
276
- userid = message.from_user.id if message.from_user else None
277
- if not userid: return await message.reply(f"Yᴏᴜ Aʀᴇ Aɴᴏɴʏᴍᴏᴜs Aᴅᴍɪɴ. Usᴇ /connect {message.chat.id} Iɴ PM")
278
- chat_type = message.chat.type
279
- if chat_type == enums.ChatType.PRIVATE:
280
- grpid = await active_connection(str(userid))
281
- if grpid is not None:
282
- grp_id = grpid
283
- try:
284
- chat = await client.get_chat(grpid)
285
- title = chat.title
286
- except:
287
- return await message.reply_text("Mᴀᴋᴇ Sᴜʀᴇ I'ᴍ Pʀᴇsᴇɴᴛ Iɴ Yᴏᴜʀ Gʀᴏᴜᴘ!!", quote=True)
288
- else: return await message.reply_text("I'ᴍ Nᴏᴛ Cᴏɴɴᴇᴄᴛᴇᴅ Tᴏ Aɴʏ Gʀᴏᴜᴘs!", quote=True)
289
-
290
- elif chat_type in [enums.ChatType.GROUP, enums.ChatType.SUPERGROUP]:
291
- grp_id = message.chat.id
292
- title = message.chat.title
293
- else: return
294
-
295
- st = await client.get_chat_member(grp_id, userid)
296
- if (
297
- st.status != enums.ChatMemberStatus.ADMINISTRATOR
298
- and st.status != enums.ChatMemberStatus.OWNER
299
- and str(userid) not in ADMINS
300
- ): return
301
-
302
- settings = await get_settings(grp_id)
303
- if settings is not None:
304
- buttons = [[
305
- InlineKeyboardButton(f"ꜰɪʟᴛᴇʀ ʙᴜᴛᴛᴏɴ : {'sɪɴɢʟᴇ' if settings['button'] else 'ᴅᴏᴜʙʟᴇ'}", f'setgs#button#{settings["button"]}#{str(grp_id)}')
306
- ],[
307
- InlineKeyboardButton(f"ꜰɪʟᴇ ɪɴ ᴩᴍ ꜱᴛᴀʀᴛ: {'ᴏɴ' if settings['botpm'] else 'ᴏꜰꜰ'}", f'setgs#botpm#{settings["botpm"]}#{str(grp_id)}')
308
- ],[
309
- InlineKeyboardButton(f"ʀᴇꜱᴛʀɪᴄᴛ ᴄᴏɴᴛᴇɴᴛ : {'ᴏɴ' if settings['file_secure'] else 'ᴏꜰꜰ'}", f'setgs#file_secure#{settings["file_secure"]}#{str(grp_id)}')
310
- ],[
311
- InlineKeyboardButton(f"ɪᴍᴅʙ ɪɴ ꜰɪʟᴛᴇʀ : {'ᴏɴ' if settings['imdb'] else 'ᴏꜰꜰ'}", f'setgs#imdb#{settings["imdb"]}#{str(grp_id)}')
312
- ],[
313
- InlineKeyboardButton(f"ꜱᴩᴇʟʟɪɴɢ ᴄʜᴇᴄᴋ : {'ᴏɴ' if settings['spell_check'] else 'ᴏꜰꜰ'}", f'setgs#spell_check#{settings["spell_check"]}#{str(grp_id)}')
314
- ],[
315
- InlineKeyboardButton(f"ᴡᴇʟᴄᴏᴍᴇ ᴍᴇꜱꜱᴀɢᴇ : {'ᴏɴ' if settings['welcome'] else 'ᴏꜰꜰ'}", f'setgs#welcome#{settings["welcome"]}#{str(grp_id)}')
316
- ]]
317
- await message.reply_text(
318
- text=f"<b>Cʜᴀɴɢᴇ Yᴏᴜʀ Sᴇᴛᴛɪɴɢꜱ Fᴏʀ {title} Aꜱ Yᴏᴜʀ Wɪꜱʜ ⚙</b>",
319
- reply_markup=InlineKeyboardMarkup(buttons),
320
- quote=True,
321
- disable_web_page_preview=True,
322
- parse_mode=enums.ParseMode.HTML,
323
- )
324
-
325
-
326
-
327
- @Client.on_message(filters.command('set_template'))
328
- async def save_template(client, message):
329
- sts = await message.reply("Cʜᴇᴄᴋɪɴɢ Tᴇᴍᴘʟᴀᴛᴇ")
330
- userid = message.from_user.id if message.from_user else None
331
- if not userid: return await message.reply(f"Yᴏᴜ Aʀᴇ Aɴᴏɴʏᴍᴏᴜs Aᴅᴍɪɴ. Usᴇ /connect {message.chat.id} Iɴ PM")
332
- chat_type = message.chat.type
333
- if chat_type == enums.ChatType.PRIVATE:
334
- grpid = await active_connection(str(userid))
335
- if grpid is not None:
336
- grp_id = grpid
337
- try:
338
- chat = await client.get_chat(grpid)
339
- title = chat.title
340
- except:
341
- return await message.reply_text("Mᴀᴋᴇ Sᴜʀᴇ I'ᴍ Pʀᴇsᴇɴᴛ Iɴ Yᴏᴜʀ Gʀᴏᴜᴘ !!", quote=True)
342
- else:
343
- return await message.reply_text("I'ᴍ Nᴏᴛ Cᴏɴɴᴇᴄᴛᴇᴅ Tᴏ Aɴʏ Gʀᴏᴜᴘs!", quote=True)
344
- elif chat_type in [enums.ChatType.GROUP, enums.ChatType.SUPERGROUP]:
345
- grp_id = message.chat.id
346
- title = message.chat.title
347
- else: return
348
- st = await client.get_chat_member(grp_id, userid)
349
- if (
350
- st.status != enums.ChatMemberStatus.ADMINISTRATOR
351
- and st.status != enums.ChatMemberStatus.OWNER
352
- and str(userid) not in ADMINS
353
- ): return
354
- if len(message.command) < 2: return await sts.edit("No Iɴᴩᴜᴛ!!")
355
- template = message.text.split(" ", 1)[1]
356
- await save_group_settings(grp_id, 'template', template)
357
- await sts.edit(f"Sᴜᴄᴄᴇssғᴜʟʟʏ Cʜᴀɴɢᴇᴅ Tᴇᴍᴘʟᴀᴛᴇ Fᴏʀ {title} Tᴏ\n\n{template}")
358
-
359
-
360
- @Client.on_message(filters.command('get_template'))
361
- async def geg_template(client, message):
362
- sts = await message.reply("Cʜᴇᴄᴋɪɴɢ Tᴇᴍᴘʟᴀᴛᴇ")
363
- userid = message.from_user.id if message.from_user else None
364
- if not userid: return await message.reply(f"Yᴏᴜ Aʀᴇ Aɴᴏɴʏᴍᴏᴜs Aᴅᴍɪɴ. Usᴇ /connect {message.chat.id} Iɴ PM")
365
- chat_type = message.chat.type
366
- if chat_type == enums.ChatType.PRIVATE:
367
- grpid = await active_connection(str(userid))
368
- if grpid is not None:
369
- grp_id = grpid
370
- try:
371
- chat = await client.get_chat(grpid)
372
- title = chat.title
373
- except:
374
- return await message.reply_text("Mᴀᴋᴇ Sᴜʀᴇ I'ᴍ Pʀᴇsᴇɴᴛ Iɴ Yᴏᴜʀ Gʀᴏᴜᴘ !!", quote=True)
375
- else:
376
- return await message.reply_text("I'ᴍ Nᴏᴛ Cᴏɴɴᴇᴄᴛᴇᴅ Tᴏ Aɴʏ Gʀᴏᴜᴘs!", quote=True)
377
- elif chat_type in [enums.ChatType.GROUP, enums.ChatType.SUPERGROUP]:
378
- grp_id = message.chat.id
379
- title = message.chat.title
380
- else: return
381
- st = await client.get_chat_member(grp_id, userid)
382
- if (
383
- st.status != enums.ChatMemberStatus.ADMINISTRATOR
384
- and st.status != enums.ChatMemberStatus.OWNER
385
- and str(userid) not in ADMINS
386
- ): return
387
- settings = await get_settings(grp_id)
388
- template = settings['template']
389
- await sts.edit(f"Cᴜʀʀᴇɴᴛ Tᴇᴍᴘʟᴀᴛᴇ Fᴏʀ {title} Iꜱ\n\n{template}")
390
-
391
-
392
-
 
1
+ # File: C:\Users\Shakeel\Desktop\PROFESSOR-BOT\plugins\commands.py
2
  import os, re, json, base64, logging, random, asyncio
3
 
4
  from Script import script
 
7
  from pyrogram.errors import ChatAdminRequired, FloodWait
8
  from pyrogram.types import InlineKeyboardButton, InlineKeyboardMarkup
9
  from database.ia_filterdb import Media, get_file_details, unpack_new_file_id
10
+ from info import CHANNELS, ADMINS, OWNERS, AUTH_CHANNEL, LOG_CHANNEL, PICS, BATCH_FILE_CAPTION, CUSTOM_FILE_CAPTION, PROTECT_CONTENT, START_MESSAGE, FORCE_SUB_TEXT, SUPPORT_CHAT
11
  from utils import get_settings, get_size, is_subscribed, save_group_settings, temp
12
  from database.connections_mdb import active_connection
13
 
 
26
  await asyncio.sleep(2)
27
  if not await db.get_chat(message.chat.id):
28
  total = await client.get_chat_members_count(message.chat.id)
29
+ await client.send_message(LOG_CHANNEL, script.LOG_TEXT_G.format(a=message.chat.title, b=message.chat.id, c=message.chat.username, d=total, e=client.mention, f="Unknown"))
30
  await db.add_chat(message.chat.id, message.chat.title, message.chat.username)
31
  return
32
  if not await db.is_user_exist(message.from_user.id):
33
  await db.add_user(message.from_user.id, message.from_user.first_name)
34
  await client.send_message(LOG_CHANNEL, script.LOG_TEXT_P.format(message.from_user.id, message.from_user.mention, message.from_user.username, temp.U_NAME))
35
  if len(message.command) != 2:
36
+ user_id = message.from_user.id
37
+ if user_id in OWNERS:
38
+ # Owner-specific buttons
39
+ buttons = [[
40
+ InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
41
+ ],[
42
+ InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
43
+ InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
44
+ ],[
45
+ InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
46
+ InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
47
  ],[
48
+ InlineKeyboardButton('⚙️ Aᴅᴍɪɴ Pᴀɴᴇʟ ⚙️', 'admin')
49
+ ],[
50
+ InlineKeyboardButton('Fɪʟᴛᴇʀꜱ', 'openfilter'),
51
+ InlineKeyboardButton('Cᴏɴɴᴇᴄᴛ', 'coct')
52
+ ],[
53
+ InlineKeyboardButton('Fɪʟᴇ Sᴛᴏʀᴇ', 'newdata'),
54
+ InlineKeyboardButton('Exᴛʀᴀ Mᴏᴅᴇ', 'extmod')
55
+ ],[
56
+ InlineKeyboardButton('Gʀᴏᴜᴩ Mᴀɴᴀɢᴇʀ', 'gpmanager'),
57
+ InlineKeyboardButton('Bᴏᴛ Sᴛᴀᴛᴜꜱ ❄️', 'stats')
58
+ ],[
59
+ InlineKeyboardButton('✘ Cʟᴏꜱᴇ', 'close_data'),
60
+ InlineKeyboardButton('« Bᴀᴄᴋ', 'start')
61
+ ]]
62
+ else:
63
+ # Regular user buttons
64
+ buttons = [[
65
+ InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
66
+ ],[
67
+ InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
68
+ InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
69
+ ],[
70
+ InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
71
+ InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
72
+ ]]
73
  m = await message.reply_sticker("CAACAgUAAxkBAAEBvlVk7YKnYxIHVnKW2PUwoibIR2ygGAACBAADwSQxMYnlHW4Ls8gQHgQ")
74
  await asyncio.sleep(2)
75
  await message.reply_photo(photo=random.choice(PICS), caption=START_MESSAGE.format(user=message.from_user.mention, bot=client.mention), reply_markup=InlineKeyboardMarkup(buttons), parse_mode=enums.ParseMode.HTML)
 
97
  return await client.send_message(chat_id=message.from_user.id, text=script.FORCE_SUB_TEXT, reply_markup=InlineKeyboardMarkup(btn), parse_mode=enums.ParseMode.DEFAULT)
98
 
99
  if len(message.command) == 2 and message.command[1] in ["subscribe", "error", "okay", "help"]:
100
+ user_id = message.from_user.id
101
+ if user_id in OWNERS:
102
+ # Owner-specific buttons
103
+ buttons = [[
104
+ InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
105
+ ],[
106
+ InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
107
+ InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
108
+ ],[
109
+ InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
110
+ InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
111
  ],[
112
+ InlineKeyboardButton('⚙️ Aᴅᴍɪɴ Pᴀɴᴇʟ ⚙️', 'admin')
113
+ ],[
114
+ InlineKeyboardButton('Fɪʟᴛᴇʀꜱ', 'openfilter'),
115
+ InlineKeyboardButton('Cᴏɴɴᴇᴄᴛ', 'coct')
116
+ ],[
117
+ InlineKeyboardButton('Fɪʟᴇ Sᴛᴏʀᴇ', 'newdata'),
118
+ InlineKeyboardButton('Exᴛʀᴀ Mᴏᴅᴇ', 'extmod')
119
+ ],[
120
+ InlineKeyboardButton('Gʀᴏᴜᴩ Mᴀɴᴀɢᴇʀ', 'gpmanager'),
121
+ InlineKeyboardButton('Bᴏᴛ Sᴛᴀᴛᴜꜱ ❄️', 'stats')
122
+ ],[
123
+ InlineKeyboardButton('✘ Cʟᴏꜱᴇ', 'close_data'),
124
+ InlineKeyboardButton('« Bᴀᴄᴋ', 'start')
125
+ ]]
126
+ else:
127
+ # Regular user buttons
128
+ buttons = [[
129
+ InlineKeyboardButton("➕️ Aᴅᴅ Mᴇ Tᴏ Yᴏᴜʀ Cʜᴀᴛ ➕", url=f"http://t.me/{temp.U_NAME}?startgroup=true")
130
+ ],[
131
+ InlineKeyboardButton("Sᴇᴀʀᴄʜ 🔎", switch_inline_query_current_chat=''),
132
+ InlineKeyboardButton("Cʜᴀɴɴᴇʟ 🔈", url="https://t.me/mkn_bots_updates")
133
+ ],[
134
+ InlineKeyboardButton("Hᴇʟᴩ 🕸️", callback_data="help"),
135
+ InlineKeyboardButton("Aʙᴏᴜᴛ ✨", callback_data="about")
136
+ ]]
137
  m = await message.reply_sticker("CAACAgUAAxkBAAEBvlVk7YKnYxIHVnKW2PUwoibIR2ygGAACBAADwSQxMYnlHW4Ls8gQHgQ")
138
  await asyncio.sleep(2)
139
  await message.reply_photo(photo=random.choice(PICS), caption=START_MESSAGE.format(user=message.from_user.mention, bot=client.mention), reply_markup=InlineKeyboardMarkup(buttons), parse_mode=enums.ParseMode.HTML)
 
258
  f_caption=f_caption
259
  if f_caption is None:
260
  f_caption = f"{files.file_name}"
261
+ await client.send_cached_media(chat_id=message.from_user.id, file_id=file_id, caption=f_caption, protect_content=True if pre == 'filep' else False,)