diff --git a/README.md b/README.md
index 1f2d4e2..3164075 100644
--- a/README.md
+++ b/README.md
@@ -66,6 +66,87 @@
- β
SQL database (postgrasql) support (Optional).
- β
5 MongoDb support (optional).
+
+## π€ Commands & Bot Features
+
+### Full command list
+
+**Core / Search**
+- `/start`
+- `/movies`
+- `/series`
+- `/imdb`, `/mnsearch`
+- `/search`
+
+**Filter / Connection**
+- `/filter`, `/add`
+- `/filters`, `/viewfilters`
+- `/del`
+- `/delall`
+- `/connect`
+- `/disconnect`
+- `/connections`
+- `/settings`
+
+**Utilities / Extras**
+- `/id`
+- `/info`
+- `/bug`, `/bugs`, `/feedback`
+- `/paste`, `/pasty`, `/tgpaste`
+- `/short`
+- `/tr`
+- `/font`
+- `/genpassword`, `/genpw`
+- `/tts`
+- `/carbon`
+- `/stickerid`
+- `/json`, `/js`, `/showjson`
+- `/img`, `/cup`, `/telegraph`
+- `/share`, `/share_text`, `/sharetext`
+- `/echo`
+- `/pin`
+- `/unpin`
+- `/unpin_all`
+- `/promote`
+- `/demote`
+
+**Admin / Owner**
+- `/stats`
+- `/invite`
+- `/ban`
+- `/unban`
+- `/users`
+- `/chats`
+- `/channel`
+- `/broadcast`
+- `/grpbroadcast`
+- `/logs`
+- `/delete`
+- `/deleteall`
+- `/deletefiles`
+- `/fsub`
+- `/set_template`
+- `/setskip`
+- `/clear_join_users`
+- `/leave`
+- `/disable`
+- `/enable`
+- `/ping`
+- `/usage`
+- `/restart`
+
+### Feature highlights shown in Help
+- Auto + manual filter responses
+- Channel file indexing and searchable DB
+- Inline result support and hyperlink result mode
+- IMDB cards with metadata and posters
+- Spell check suggestions for missing titles
+- Multiple force-sub channels and gated access
+- PM connection manager for group controls
+- File auto-delete and protected media delivery
+- Multi DB backend support (MongoDB / PostgreSQL)
+- Broadcast tools and moderation controls
+
## π§ Variables
### Required
diff --git a/Script.py b/Script.py
index a0505b2..bc8e9b1 100644
--- a/Script.py
+++ b/Script.py
@@ -3,11 +3,81 @@ class script(object):
π¨π πΊπ πΊπππ πΏππ
ππΎπ π»ππ ππππΌπ πΌπΊπ ππππππ½πΎ πππππΎπ ππ ππππ ππππππ.
+ π π½π½ π¬πΎ π³π πΈπππ π¦ππππ + πΊππ½ πππππππΎ ππΎ πΊπ πΊπ½πππ ππ π
πΎπ ππΎ ππΎπ ππ πΊπΌππππ."""
HELP_TXT = """
- Hey {}
-Currently using free server so please Dont kill Me...
+Hey {} π
+
+Use the buttons below to browse all features and commands.
+Each help page contains a short list for easy reading.
"""
+ HELP_PAGES = [
+"""π Help (1/6): Core Features
+β’ Auto filter and manual filter replies
+β’ IMDB details with poster + metadata
+β’ Spell-check suggestions for wrong queries
+β’ File indexing from linked channels
+β’ Multi-database support (Mongo + SQL)
+β’ Hyperlink result mode support
+β’ Connection manager for PM controls
+β’ File auto-delete and protected delivery
+β’ Multiple force-sub channels support
+β’ Inline search and share support""",
+"""π Help (2/6): Public Commands
+β’ /start - Start the bot
+β’ /movies - Latest added movies
+β’ /series - Latest added series
+β’ /connect - Connect group to PM
+β’ /disconnect - Disconnect active chat
+β’ /connections - Show your connections
+β’ /settings - Open group settings
+β’ /filter or /add - Create manual filter
+β’ /filters or /viewfilters - List filters
+β’ /del and /delall - Delete filters""",
+"""π Help (3/6): Utility Commands
+β’ /imdb and /mnsearch - Search movie info
+β’ /id - Show user/chat id
+β’ /info - Show user information
+β’ /bug /bugs /feedback - Send feedback
+β’ /search - Search from external sources
+β’ /paste /pasty /tgpaste - Create paste link
+β’ /short - Shorten URL
+β’ /tr - Translate replied text
+β’ /font - Style your text
+β’ /genpassword or /genpw - Generate password""",
+"""π Help (4/6): Media/Extra Commands
+β’ /tts - Text to speech
+β’ /carbon - Generate carbon image
+β’ /stickerid - Get sticker file id
+β’ /json /js /showjson - Message JSON
+β’ /img /cup /telegraph - Image to link
+β’ /share /share_text /sharetext - Share text
+β’ /echo - Repeat text
+β’ /pin - Pin replied message
+β’ /unpin - Unpin a message
+β’ /unpin_all - Unpin all messages""",
+"""π Help (5/6): Group/Admin Commands
+β’ /promote - Promote user in group
+β’ /demote - Demote user in group
+β’ /stats - Show database bot stats
+β’ /invite - Generate group invite link
+β’ /ban - Ban a user from bot
+β’ /unban - Unban a user
+β’ /leave - Leave a chat
+β’ /disable - Disable a chat
+β’ /enable - Enable a chat
+β’ /deletefiles & /deleteall - Bulk file delete""",
+"""π Help (6/6): Owner/Admin-Only
+β’ /users - List bot users
+β’ /chats - List connected chats
+β’ /channel - List indexed channels
+β’ /broadcast - Broadcast to users
+β’ /grpbroadcast - Broadcast to groups
+β’ /logs - Get recent logs
+β’ /delete - Delete one indexed file
+β’ /fsub - Update force-sub channels
+β’ /restart, /ping, /usage - System tools
+β’ /set_template, /setskip, /clear_join_users"""
+ ]
ABOUT_TXT = """
-β CΚα΄α΄α΄α΄Κ: MN - TG
+β CΚα΄α΄α΄α΄Κ: MN - TG
β Lα΄Ι΄Ι’α΄α΄Ι’α΄: PΚα΄Κα΄Ι΄ 3
β Dα΄α΄α΄ Bα΄sα΄: Mα΄Ι΄Ι’α΄ DB
β Bα΄α΄ Sα΄Κα΄ α΄Κ: KoYeb"""
@@ -188,4 +258,3 @@ class script(object):
"""
RESTART_TXT = """
π‘ππ π±πΎπππΊπππΎπ½ β
"""
-
diff --git a/plugins/pm_filter.py b/plugins/pm_filter.py
index d73eaa4..13a4f38 100644
--- a/plugins/pm_filter.py
+++ b/plugins/pm_filter.py
@@ -465,6 +465,10 @@ async def cb_handler(client: Client, query: CallbackQuery):
await query.answer('Piracy Is Crime')
elif query.data == "help":
buttons = [[
+ InlineKeyboardButton('βοΈ PΚα΄α΄ ', callback_data='help_page_5'),
+ InlineKeyboardButton('1/6', callback_data='pages'),
+ InlineKeyboardButton('Nα΄xα΄ βΆοΈ', callback_data='help_page_1')
+ ], [
InlineKeyboardButton('Mα΄Ι΄α΄α΄Κ FΙͺΚα΄α΄Κ', callback_data='manuelfilter'),
InlineKeyboardButton('Aα΄α΄α΄ FΙͺΚα΄α΄Κ', callback_data='autofilter')
], [
@@ -472,13 +476,44 @@ async def cb_handler(client: Client, query: CallbackQuery):
InlineKeyboardButton('Exα΄Κα΄ TΚΙͺΙ΄Ι’s', callback_data='extra')
], [
InlineKeyboardButton('Hα΄α΄α΄', callback_data='start'),
- InlineKeyboardButton('Bα΄α΄α΄', callback_data='start')
- ],[
InlineKeyboardButton('Κα΄α΄α΄', url='https://github.com/mn-bots/ShobanaFilterBot')
- ]]
+ ]]
+ reply_markup = InlineKeyboardMarkup(buttons)
+ await query.message.edit_text(
+ text=f"{script.HELP_TXT.format(query.from_user.mention)}\n\n{script.HELP_PAGES[0]}",
+ reply_markup=reply_markup,
+ parse_mode=enums.ParseMode.HTML
+ )
+ elif query.data.startswith("help_page_"):
+ try:
+ page = int(query.data.rsplit("_", 1)[1])
+ except ValueError:
+ return await query.answer("Invalid help page", show_alert=True)
+
+ total_pages = len(script.HELP_PAGES)
+ if page < 0 or page >= total_pages:
+ return await query.answer("Invalid help page", show_alert=True)
+
+ prev_page = (page - 1) % total_pages
+ next_page = (page + 1) % total_pages
+
+ buttons = [[
+ InlineKeyboardButton('βοΈ PΚα΄α΄ ', callback_data=f'help_page_{prev_page}'),
+ InlineKeyboardButton(f'{page + 1}/{total_pages}', callback_data='pages'),
+ InlineKeyboardButton('Nα΄xα΄ βΆοΈ', callback_data=f'help_page_{next_page}')
+ ], [
+ InlineKeyboardButton('Mα΄Ι΄α΄α΄Κ FΙͺΚα΄α΄Κ', callback_data='manuelfilter'),
+ InlineKeyboardButton('Aα΄α΄α΄ FΙͺΚα΄α΄Κ', callback_data='autofilter')
+ ], [
+ InlineKeyboardButton('Cα΄Ι΄Ι΄α΄α΄α΄Ιͺα΄Ι΄', callback_data='coct'),
+ InlineKeyboardButton('Exα΄Κα΄ TΚΙͺΙ΄Ι’s', callback_data='extra')
+ ], [
+ InlineKeyboardButton('Hα΄α΄α΄', callback_data='start'),
+ InlineKeyboardButton('Κα΄α΄α΄', url='https://github.com/mn-bots/ShobanaFilterBot')
+ ]]
reply_markup = InlineKeyboardMarkup(buttons)
await query.message.edit_text(
- text=script.HELP_TXT.format(query.from_user.mention),
+ text=f"{script.HELP_TXT.format(query.from_user.mention)}\n\n{script.HELP_PAGES[page]}",
reply_markup=reply_markup,
parse_mode=enums.ParseMode.HTML
)