129 lines
5.8 KiB
Python
129 lines
5.8 KiB
Python
from aiogram import Router, F
|
|
|
|
from bozenka.instances.telegram.handlers.queries.image_generation import inline_image_size, inline_image_ready
|
|
from bozenka.instances.telegram.handlers.queries.mute import *
|
|
from bozenka.instances.telegram.handlers.queries.start import *
|
|
from bozenka.instances.telegram.utils.callbacks_factory import *
|
|
from bozenka.instances.telegram.handlers.queries.ban import *
|
|
from bozenka.instances.telegram.handlers.queries.pins import *
|
|
from bozenka.instances.telegram.handlers.queries.threads import *
|
|
from bozenka.instances.telegram.handlers.queries.delete import *
|
|
from bozenka.instances.telegram.handlers.queries.revoke import *
|
|
from bozenka.instances.telegram.handlers.queries.text_generation import *
|
|
from bozenka.instances.telegram.handlers.queries.setup import *
|
|
|
|
|
|
def register_queries(router: Router) -> None:
|
|
"""
|
|
Register all callback queries.
|
|
:param router:
|
|
:return:
|
|
"""
|
|
logging.log(msg="Registering callback queries", level=logging.INFO)
|
|
|
|
# Moderation
|
|
# Ban / Unban buttons reactions
|
|
router.callback_query.register(inline_ban, BanData.filter())
|
|
router.callback_query.register(inline_unban, UnbanData.filter())
|
|
|
|
# Mute / Un,ute buttons reactions
|
|
router.callback_query.register(inline_mute, MuteData.filter())
|
|
router.callback_query.register(inline_unmute, UnmuteData.filter())
|
|
|
|
# Revoke telegram invite link button
|
|
router.callback_query.register(inline_revoke, RevokeCallbackData.filter())
|
|
# Delete button message reaction
|
|
router.callback_query.register(inline_delete, DeleteCallbackData.filter())
|
|
|
|
# Threads (Close/Open)
|
|
router.callback_query.register(inline_close_thread, CloseThread.filter())
|
|
router.callback_query.register(inline_open_thread, OpenThread.filter())
|
|
|
|
# Pins (Pin/Unpin)
|
|
router.callback_query.register(inline_pin_msg, PinMsg.filter())
|
|
router.callback_query.register(inline_unpin_msg, UnpinMsg.filter())
|
|
|
|
# GPT Related queries
|
|
|
|
# Back to gpt categories
|
|
router.callback_query.register(inline_start_gpt, GptBackMenu.filter(F.back_to == "category"))
|
|
|
|
# Gpt4Free menus (Providers/Models)
|
|
router.callback_query.register(inline_g4f_categories, GptCategory.filter(F.category == "Gpt4Free"))
|
|
router.callback_query.register(inline_g4f_categories, GptBackMenu.filter(F.back_to == "g4fcategory"))
|
|
|
|
router.callback_query.register(inline_g4f_provider_models, Gpt4FreeProvider.filter())
|
|
|
|
router.callback_query.register(inline_g4f_models, Gpt4FreeCategory.filter(F.category == "models"))
|
|
router.callback_query.register(inline_g4f_providers, Gpt4FreeCategory.filter(F.category == "providers"))
|
|
|
|
router.callback_query.register(inline_g4f_model_select, Gpt4FreeModel.filter())
|
|
router.callback_query.register(inline_g4f_next_models, Gpt4FreeModelPage.filter())
|
|
|
|
# Get back to menu state
|
|
router.callback_query.register(inline_g4f_providers_back, GptBackMenu.filter(F.back_to == "providers"))
|
|
|
|
# Generates next pages (Providers/Models)
|
|
router.callback_query.register(inline_next_g4f_models, Gpt4FreeProvsModelPage.filter(), flags={"rate_limit": {"rate": 5}})
|
|
router.callback_query.register(inline_next_g4f_providers, Gpt4FreeProviderPage.filter(),
|
|
flags={"rate_limit": {"rate": 5}})
|
|
|
|
# Help information (for page button under menu)
|
|
router.callback_query.register(inline_return_pages, F.data == "gotpages")
|
|
router.callback_query.register(inline_g4f_ready, Gpt4freeResult.filter())
|
|
|
|
# Image generation menu
|
|
# Size setting
|
|
router.callback_query.register(inline_image_size, ImageGenerationCategory.filter())
|
|
|
|
# Ready status
|
|
router.callback_query.register(inline_image_ready, ImageGeneration.filter())
|
|
|
|
# Gpt4All menus
|
|
# Gpt4All model menu
|
|
router.callback_query.register(inline_g4a, GptCategory.filter(F.category == "Gpt4All"))
|
|
|
|
# Gpt4All back
|
|
router.callback_query.register(inline_g4a_back, GptBackMenu.filter(F.back_to == "g4amodels"))
|
|
|
|
# Gpt4All selected model menu
|
|
router.callback_query.register(inline_g4a_model, Gpt4AllModel.filter())
|
|
router.callback_query.register(inline_g4a_select_model, Gpt4AllSelect.filter())
|
|
|
|
# Stop dialog button under gpt message answer
|
|
router.callback_query.register(inline_stop_dialog, GptStop.filter())
|
|
|
|
# /setup command related queries
|
|
# List of features based on category
|
|
router.callback_query.register(inline_setup_category, SetupCategory.filter())
|
|
|
|
# Menu of feature to enable or disable
|
|
router.callback_query.register(inline_edit_feature, SetupFeature.filter())
|
|
router.callback_query.register(inline_feature_edited, SetupAction.filter(F.action == "enable"))
|
|
router.callback_query.register(inline_feature_edited, SetupAction.filter(F.action == "disable"))
|
|
|
|
# Back from feature to category
|
|
router.callback_query.register(inline_setup_category_back, SetupAction.filter(F.action == "back"))
|
|
|
|
# /start command related queries
|
|
# Help of features based on category
|
|
router.callback_query.register(inline_help_features, HelpCategory.filter())
|
|
router.callback_query.register(inline_back_help_categories, HelpBack.filter(F.back_to == "category"))
|
|
router.callback_query.register(inline_back_help_features, HelpBackCategory.filter())
|
|
|
|
# Menu to back
|
|
router.callback_query.register(inline_help_feature, HelpFeature.filter())
|
|
|
|
# Back to /start
|
|
router.callback_query.register(inline_start, F.data == "back")
|
|
|
|
# Categories of menu
|
|
router.callback_query.register(inline_about_developers, F.data == "aboutdevs")
|
|
router.callback_query.register(inline_add_to_chat, F.data == "addtochat")
|
|
router.callback_query.register(inline_start_chatbot, F.data == "dialogai")
|
|
router.callback_query.register(inline_help, F.data == "functional")
|
|
router.callback_query.register(inline_about_instance, F.data == "aboutbot")
|
|
|
|
|
|
|