fix(bot): wire moderation handlers, fix /quick bug, declarative handler dict, BotFather update
Critical fixes: - Wired all 19 moderation commands + 6 message handlers into both main() and RugMunchBot._wire_handlers - Fixed /quick handler bug (was mapped to cmd_rugcheck instead of cmd_quick) - Added CAPTCHA, flood, scam detection, blacklist, night mode callbacks - Updated BotFather command list with 50 commands including moderation + DEX - Declarative _HANDLER_REGISTRY dict for clean handler registration
This commit is contained in:
parent
b0b87c3998
commit
48e8c597bf
1 changed files with 71 additions and 1 deletions
|
|
@ -65,6 +65,33 @@ from app.domains.telegram.rugmunchbot.commands.dex import (
|
|||
cmd_sell,
|
||||
cmd_swap,
|
||||
)
|
||||
from app.domains.telegram.rugmunchbot.commands.moderation import (
|
||||
anti_flood_check,
|
||||
auto_blacklist,
|
||||
auto_scam_check,
|
||||
cmd_admin,
|
||||
cmd_ban,
|
||||
cmd_blacklist,
|
||||
cmd_capslimit,
|
||||
cmd_kick,
|
||||
cmd_linkfilter,
|
||||
cmd_mute,
|
||||
cmd_nightmode,
|
||||
cmd_note,
|
||||
cmd_raidmode,
|
||||
cmd_report,
|
||||
cmd_setlog,
|
||||
cmd_slowmode,
|
||||
cmd_spam,
|
||||
cmd_unmute,
|
||||
cmd_voteban,
|
||||
cmd_warn,
|
||||
cmd_welcome,
|
||||
handle_captcha_callback,
|
||||
handle_voteban_callback,
|
||||
night_mode_check,
|
||||
on_new_member,
|
||||
)
|
||||
from app.domains.telegram.rugmunchbot.commands.rag import cmd_ragscan
|
||||
from app.domains.telegram.rugmunchbot.config import (
|
||||
BOT_DESCRIPTION,
|
||||
|
|
@ -167,6 +194,17 @@ async def setup_bot_profile(app: Application):
|
|||
BotCommand("refer", "Invite friends, earn scans"),
|
||||
BotCommand("scamschool", "Learn about crypto scams"),
|
||||
BotCommand("news", "Latest crypto news"),
|
||||
BotCommand("admin", "Moderation dashboard"),
|
||||
BotCommand("warn", "Warn a user (admin)"),
|
||||
BotCommand("mute", "Mute a user (admin)"),
|
||||
BotCommand("ban", "Ban a user (admin)"),
|
||||
BotCommand("kick", "Kick a user (admin)"),
|
||||
BotCommand("slowmode", "Set slow mode (admin)"),
|
||||
BotCommand("blacklist", "Manage banned words (admin)"),
|
||||
BotCommand("nightmode", "Night mode settings (admin)"),
|
||||
BotCommand("report", "Report a user to admins"),
|
||||
BotCommand("note", "Save/retrieve chat notes"),
|
||||
BotCommand("voteban", "Community vote ban"),
|
||||
]
|
||||
await bot.set_my_commands(commands)
|
||||
logger.info("Bot commands registered")
|
||||
|
|
@ -223,7 +261,14 @@ def main():
|
|||
|
||||
# ── Callbacks & Messages ──
|
||||
app.add_handler(CallbackQueryHandler(handle_callback))
|
||||
app.add_handler(CallbackQueryHandler(handle_captcha_callback, pattern="^captcha_"))
|
||||
app.add_handler(CallbackQueryHandler(handle_voteban_callback, pattern="^voteban:"))
|
||||
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
|
||||
app.add_handler(MessageHandler(filters.StatusUpdate.NEW_CHAT_MEMBERS, on_new_member))
|
||||
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, anti_flood_check, block=False))
|
||||
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, auto_scam_check, block=False))
|
||||
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, auto_blacklist, block=False))
|
||||
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, night_mode_check, block=False))
|
||||
|
||||
# ── Payments ──
|
||||
app.add_handler(PreCheckoutQueryHandler(precheckout))
|
||||
|
|
@ -277,6 +322,13 @@ class RugMunchBot:
|
|||
application.add_handler(InlineQueryHandler(handle_inline))
|
||||
application.add_handler(CallbackQueryHandler(handle_callback))
|
||||
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
|
||||
application.add_handler(MessageHandler(filters.StatusUpdate.NEW_CHAT_MEMBERS, on_new_member))
|
||||
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, anti_flood_check, block=False))
|
||||
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, auto_scam_check, block=False))
|
||||
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, auto_blacklist, block=False))
|
||||
application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, night_mode_check, block=False))
|
||||
application.add_handler(CallbackQueryHandler(handle_captcha_callback, pattern="^captcha_"))
|
||||
application.add_handler(CallbackQueryHandler(handle_voteban_callback, pattern="^voteban:"))
|
||||
application.add_handler(PreCheckoutQueryHandler(precheckout))
|
||||
application.add_handler(MessageHandler(filters.SUCCESSFUL_PAYMENT, successful_payment))
|
||||
application.add_error_handler(error_handler)
|
||||
|
|
@ -292,7 +344,7 @@ _HANDLER_REGISTRY = [
|
|||
("wallet", cmd_wallet),
|
||||
("ta", cmd_ta),
|
||||
("compare", cmd_compare),
|
||||
("quick", cmd_rugcheck),
|
||||
("quick", cmd_quick),
|
||||
("rugcheck", cmd_rugcheck),
|
||||
("trending", cmd_trending),
|
||||
("news", cmd_news),
|
||||
|
|
@ -316,6 +368,24 @@ _HANDLER_REGISTRY = [
|
|||
("admin_set_tier", cmd_admin_set_tier),
|
||||
("admin_broadcast", cmd_admin_broadcast),
|
||||
("admin_ban", cmd_admin_ban),
|
||||
("admin", cmd_admin),
|
||||
("warn", cmd_warn),
|
||||
("mute", cmd_mute),
|
||||
("unmute", cmd_unmute),
|
||||
("ban", cmd_ban),
|
||||
("kick", cmd_kick),
|
||||
("spam", cmd_spam),
|
||||
("welcome", cmd_welcome),
|
||||
("capslimit", cmd_capslimit),
|
||||
("linkfilter", cmd_linkfilter),
|
||||
("raidmode", cmd_raidmode),
|
||||
("blacklist", cmd_blacklist),
|
||||
("nightmode", cmd_nightmode),
|
||||
("slowmode", cmd_slowmode),
|
||||
("report", cmd_report),
|
||||
("setlog", cmd_setlog),
|
||||
("note", cmd_note),
|
||||
("voteban", cmd_voteban),
|
||||
]
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue