| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from __future__ import annotations
- from pyrogram.types import CallbackQuery, Message
- from wbb import app
- from wbb.services.message_cleanup import (
- begin_group_callback_interaction,
- begin_group_message_interaction,
- clear_current_group_interaction,
- install_group_interaction_tracking,
- is_group_interaction_candidate,
- is_group_cleanup_scheduled,
- )
- from wbb.services.point_settings import CHECKIN_BUTTON_TEXT
- from wbb.services.interaction_settings import get_interaction_settings
- __MODULE__ = "群聊交互清理"
- __HELP__ = "群内机器人指令和按钮交互消息会在 10 秒后自动清理。"
- install_group_interaction_tracking(app)
- @app.on_message(group=-2000)
- async def begin_message_cleanup_context(_, message: Message):
- if not is_group_interaction_candidate(message, menu_texts={CHECKIN_BUTTON_TEXT}):
- clear_current_group_interaction()
- return
- settings = await get_interaction_settings(message.chat.id)
- begin_group_message_interaction(
- message, menu_texts={CHECKIN_BUTTON_TEXT},
- delay_seconds=settings["cleanup_seconds"],
- )
- @app.on_callback_query(group=-2000)
- async def begin_callback_cleanup_context(_, query: CallbackQuery):
- if not getattr(query, "message", None) or not is_group_cleanup_scheduled(query.message):
- clear_current_group_interaction()
- return
- settings = await get_interaction_settings(query.message.chat.id)
- begin_group_callback_interaction(query, delay_seconds=settings["cleanup_seconds"])
|