Update plugins/commands.py
Browse files- 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,
|
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 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
],[
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
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 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
],[
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
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,)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|