Ejemplo n.º 1
0
def register_handlers_share(dp: Dispatcher):
    """ Регистрация message handler для бота """

    dp.register_callback_query_handler(
        page_callback,
        lambda call: call.data.split('#')[0] == 'character',
        state="*")
Ejemplo n.º 2
0
def setup(dp: Dispatcher):

    # Команды
    dp.register_message_handler(start_from_command, commands=['start'])
    dp.register_callback_query_handler(
        start_from_callback,
        lambda c: c.data and c.data.startswith('main_menu'))
Ejemplo n.º 3
0
def setup(dp: Dispatcher, loop: AbstractEventLoop = None, *args, **kwargs):
    logging.info('Initialize default module')

    loop.create_task(
        forever_run(
            function=check_connection,
            interval=CONNECTION_CHECKER_INTERVAL,
        ))

    dp.register_message_handler(cmd_start, Command('start'), state='*')
    dp.register_message_handler(cmd_help, Command('help'), state='*')
    dp.register_message_handler(cmd_cancel, Command('cancel'), state='*')
    dp.register_message_handler(
        cmd_start,
        lambda message:
        [user for user in message.new_chat_members if bot_id == user.id],
        content_types=ContentType.NEW_CHAT_MEMBERS,
    )
    dp.register_message_handler(
        cmd_start,
        content_types=ContentType.GROUP_CHAT_CREATED,
    )
    dp.register_callback_query_handler(
        answer_callback_empty_button_handler,
        lambda query: query.data == 'None',
    )
Ejemplo n.º 4
0
 def register_callbacks(cls, dispatcher: Dispatcher = None):
     dispatcher = dispatcher or cls.dispatcher
     if dispatcher is None:
         raise Exception("dispatcher not set")
     for i in vars(cls):
         data: Union[Button, Input] = getattr(cls, i)
         if isinstance(data, Button) and not data.registered:
             if cls.default_save:
                 if data.is_inline():
                     dispatcher.register_callback_query_handler(
                         callback=(cls.default_callback_save if data.on_click is None else data.on_click),
                         text=data.kwargs.get("callback_data"),
                         state=cls.state
                     )
                 else:
                     dispatcher.register_message_handler(
                         callback=(cls.default_text_save if data.on_click is None else data.on_click),
                         text=data.text,
                         state=cls.state
                     )
         elif isinstance(data, Input) and not data.registered:
             dispatcher.register_message_handler(
                 (cls.default_text_save if data.on_enter is None else data.on_enter),
                 *data.args,
                 state=cls.state,
                 **data.kwargs
             )
             if data.on_wrong is not None:
                 dispatcher.register_message_handler(
                     callback=data.on_wrong,
                     state=cls.state
                 )
Ejemplo n.º 5
0
def feedback_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(
        new_feedback,
        conv_cb.filter(action="new"),
        state="*",
    )

    dp.register_callback_query_handler(
        reply_to_conversation,
        conv_cb.filter(action="reply"),
        state="*",
    )

    dp.register_callback_query_handler(
        conversation_pages,
        conv_cb.filter(action="page"),
        state="*",
    )

    dp.register_callback_query_handler(
        conversation_open,
        conv_cb.filter(action="open"),
        state="*",
    )

    dp.register_callback_query_handler(
        flow_page,
        flow_cb.filter(action="page"),
        state="*",
    )
Ejemplo n.º 6
0
def setup(dp: Dispatcher):
    """Commands handlers"""
    dp.register_message_handler(start_cmd, commands=['start'])
    dp.register_message_handler(login_test, commands=['login'])
    """Callback handlers"""
    main_menu = MainMenu()
    dp.register_callback_query_handler(
        main_menu_callback,
        lambda callback_query: main_menu.callback_data.filter(action=main_menu.
                                                              actions),
        state=MainForm.myself)
    english_word_menu = EnglishWordMenu()
    dp.register_callback_query_handler(
        english_menu_callback,
        lambda callback_query: english_word_menu.callback_data.filter(
            action=english_word_menu.actions),
        state=[MainForm.english, EnglishForm, EnglishWordMenuEnterRussianWord])
    """Message handlers"""
    dp.register_message_handler(write_english_word_message_handler,
                                state=EnglishForm.write_english)
    dp.register_message_handler(write_russian_word_message_handler,
                                state=EnglishForm.write_russian)
    """Error handlers"""
    @dp.errors_handler(exception=MessageNotModified
                       )  # handle the cases when this exception raises
    async def message_not_modified_handler(update, error):
        return True  # errors_handler must return True if error was handled correctly
Ejemplo n.º 7
0
def setup(dp: Dispatcher) -> None:
    # Register `auth` handlers
    dp.register_message_handler(set_code, commands=["set_code"])
    dp.register_message_handler(my_code, commands=["my_code"])
    dp.register_message_handler(reset_code, commands=["reset_code"])

    # Register `absence` handlers
    dp.register_message_handler(
        menu_handler,
        lambda message: message.text and message.text == 'Главное меню',
    )
    dp.register_message_handler(
        get_student,
        lambda message: message.text and message.text == 'Расход',
        state='*',
    )
    dp.register_callback_query_handler(
        callback_query_process,
        lambda callback: True,
        state='*',
    )
    dp.register_message_handler(
        send_absence,
        lambda message: message.text and message.text == 'Отправить данные',
        state='*',
    )
Ejemplo n.º 8
0
def setup(dp: Dispatcher, *args, **kwargs):
    logging.info('Initialize surveys module')
    
    # getting survey
    dp.register_message_handler(cmd_start, Command('start'), state='*')
    
    # registration
    dp.register_message_handler(cmd_register, Command('register'), state='*')
    dp.register_message_handler(process_email, state=RegistrationStates.wait_for_email)
    dp.register_message_handler(process_code, state=RegistrationStates.wait_for_code)

    # unregister
    dp.register_message_handler(cmd_unregister, Command('unregister'), state='*')

    # info
    dp.register_message_handler(cmd_info, Command('info'), state='*')

    # answer handler
    dp.register_callback_query_handler(
        callback_answer_handler,
        lambda query: query.data.startswith('answer'),
        state='*',
    )
    # submit handler
    dp.register_callback_query_handler(
        callback_survey_handler,
        lambda query: query.data.startswith('survey'),
    )

    # plain text for 3rd type of question
    dp.register_message_handler(
        process_plain_text,
        state=QuestionsStates.wait_for_plain_text,
    )
    def register(dp: Dispatcher, config: typing.Dict[typing.Any,
                                                     typing.Any]) -> bool:
        dp.register_message_handler(I18nHandlers.cmd_i18n_choose)

        dp.register_callback_query_handler(I18nHandlers.query_change_language,
                                           i18n_cb.filter(type='lang_choice'))

        return True
Ejemplo n.º 10
0
def lang_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(lang_list_callback_handler,
                                       lang_cb.filter(id="_"),
                                       state="*")

    dp.register_callback_query_handler(lang_callback_handler,
                                       lang_cb.filter(),
                                       state="*")
def register_handlers(dp: Dispatcher):
    dp.register_message_handler(entry_point, state=GlobalStates.add_tasks_btn)
    dp.register_message_handler(enter_group_id,
                                state=AddTasksStates.enter_group_id)
    dp.register_callback_query_handler(
        check_for_admin,
        markups.add_tasks_factory.filter(data="0"),
        state=AddTasksStates.check_for_admin)
Ejemplo n.º 12
0
def worker_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(worker_callback_handler,
                                       worker_cb.filter(type=SELECT_COIN_CB),
                                       state="*")

    dp.register_callback_query_handler(worker_info_callback_handler,
                                       worker_cb.filter(),
                                       state="*")
Ejemplo n.º 13
0
 def register(self, registry: DialogRegistryProto, dp: Dispatcher, *args,
              **filters) -> None:
     if "state" not in filters:
         filters["state"] = "*"
     dp.register_callback_query_handler(self._callback_handler, *args,
                                        **filters)
     if "content_types" not in filters:
         filters["content_types"] = ContentTypes.ANY
     dp.register_message_handler(self._message_handler, *args, **filters)
Ejemplo n.º 14
0
def blacklist_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(black_list_callback_handler,
                                       worker_black_cb.filter(
                                           type=SELECT_COIN_CB, ),
                                       state="*")

    dp.register_callback_query_handler(black_list_info_callback_handler,
                                       worker_black_cb.filter(),
                                       state="*")
Ejemplo n.º 15
0
def notification_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(notificaion_enable_callback_handler,
                                       notification_cb.filter(),
                                       state="*")

    dp.register_callback_query_handler(
        notificaion_payout_enable_callback_handler,
        notification_payout_cb.filter(),
        state="*")
Ejemplo n.º 16
0
def setup(dp: Dispatcher, loop: AbstractEventLoop=None, *args, **kwargs):
    logging.info('Initialize default module')
    
    dp.register_message_handler(cmd_help, Command('help'), state='*')
    dp.register_message_handler(cmd_cancel, Command('cancel'), state='*')
    dp.register_callback_query_handler(
        answer_callback_empty_button_handler,
        lambda query: query.data == 'None'
    )
Ejemplo n.º 17
0
def register_handlers(dp: Dispatcher):
    dp.register_message_handler(info_handler, commands='info')
    dp.register_message_handler(contacts_handler, commands='contacts')

    dp.register_message_handler(cancel_handler, state='*', commands='cancel')
    dp.register_message_handler(cancel_handler, Text(equals='отмена', ignore_case=True), state='*')

    dp.register_callback_query_handler(cancel_callback_handler, lambda callback_query: callback_query.data == "cancel",
                                       state='*')
Ejemplo n.º 18
0
def register_handlers_location(dp: Dispatcher):
    dp.register_message_handler(location_start,
                                Text(startswith='🌍'),
                                state='*')
    dp.register_message_handler(location_search,
                                state=SetLocation.waiting_loc_name)
    dp.register_callback_query_handler(location_confirm,
                                       Text(endswith='city'),
                                       state=SetLocation.confirm_loc_name)
    def register(dp: Dispatcher, config: typing.Dict[typing.Any, typing.Any]) -> bool:
        dp.register_message_handler(BroadcastHandlers.cmd_calendar, commands=['calendar'])

        dp.register_callback_query_handler(
            BroadcastHandlers.query_change_calendar, calendar_cb.filter(action='change'))
        
        dp.register_callback_query_handler(
            BroadcastHandlers.query_day, calendar_cb.filter(action='select_day'))

        return True
Ejemplo n.º 20
0
def change_coins_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(
        change_coins_for_account_callback_handler,
        menu_cb.filter(type="account", action="c_coins"),
        state="*")

    dp.register_callback_query_handler(
        change_coin_enabled_setting_coins_for_account,
        coin_account_cb.filter(action=['on', 'off']),
        state="*")
Ejemplo n.º 21
0
def setup(dp: Dispatcher):
    dp.register_message_handler(from_command, commands=['swatermark'])

    dp.register_callback_query_handler(
        from_callback,
        lambda c: c.data and c.data.startswith('watermark_from_settings'))

    dp.register_message_handler(process,
                                state=SWatermarkState.sget_pic,
                                content_types=ContentTypes.PHOTO)
Ejemplo n.º 22
0
def faq_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(
        faq_callback_handler,
        question_answer_cb.filter(action='page'),
        state="*")

    dp.register_callback_query_handler(
        faq_info_callback_handler,
        question_answer_cb.filter(action='open'),
        state="*")
Ejemplo n.º 23
0
def delete_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(
        delete_account_callback_handler,
        delete_account_cb.filter(action="choose"),
        state="*")

    dp.register_callback_query_handler(
        delete_account_confirmation_callback_handler,
        delete_account_cb.filter(action="yes"),
        state="*")
Ejemplo n.º 24
0
 def register_handler(self, dp: Dispatcher, *args, **kwargs):
     dp.register_message_handler(self.handle_message,
                                 state=self.states,
                                 content_types=ContentTypes.ANY,
                                 *args,
                                 **kwargs)
     dp.register_callback_query_handler(self.handle_callback,
                                        state=self.states,
                                        *args,
                                        **kwargs)
Ejemplo n.º 25
0
def setup(dp: Dispatcher):
    dp.register_message_handler(bot_start, CommandStart(), state='*')

    chat.setup(dp)
    inline_commands.setup(dp)

    dp.register_callback_query_handler(
        card_buttons_handler,
        lambda callback: callback.data.split("::")[0] == "card",
        state='*')
Ejemplo n.º 26
0
def register_handlers_bonds(dp: Dispatcher):
    """
    Регистрация хэндлеров \n
    See example: https://mastergroosha.github.io/telegram-tutorial-2/fsm/

    :param dp: Dispatcher
    :return: None
    """
    dp.register_message_handler(bonds_introduce, commands="bonds", state="*")
    dp.register_callback_query_handler(bonds_next_item,
                                       state=GetBondsStates.next_item_step)
Ejemplo n.º 27
0
def currency_menu_group(dp: Dispatcher):
    dp.register_callback_query_handler(currency_callback_handler,
                                       currency_cb.filter(
                                           action="open",
                                           id="_",
                                       ),
                                       state="*")

    dp.register_callback_query_handler(currency_update_callback_handler,
                                       currency_cb.filter(),
                                       state="*")
Ejemplo n.º 28
0
def setup(dp: Dispatcher, *args, **kwargs):
    logging.info('Initialize buylist module')

    dp.register_message_handler(cmd_list, Command('list'))
    dp.register_message_handler(cmd_add, Command('add'))
    dp.register_message_handler(add_to_list, state=AddFSM.waiting_for_add)
    dp.register_callback_query_handler(
        answer_callback_list_handler, lambda query: query.data.startswith(
            constants.INLINE_PREFIX_CHANGE_MENU))
    dp.register_callback_query_handler(
        answer_empty_list, lambda query: query.data.startswith(
            constants.INLINE_PREFIX_EMPTY_LIST))
Ejemplo n.º 29
0
    def register(self, dp: Dispatcher):

        dp.register_callback_query_handler(
            self.join,
            lambda c: c.data and c.data == self.name
        )

        dp.register_message_handler(
            self.handle,
            state=self.state_obj.input_state,
            content_types=ContentTypes.TEXT
        )
Ejemplo n.º 30
0
def setup_tg_handlers(dp: Dispatcher):
    dp.register_message_handler(start_cmd, commands=['start'])
    dp.register_message_handler(help_cmd, commands=['help'])
    dp.register_message_handler(current_cmd, commands=['current'])
    dp.register_message_handler(vk_convs, commands=['convs'])
    dp.register_message_handler(vk_chats, commands=['chats'])
    dp.register_message_handler(chat_register, commands=['regchat'])
    dp.register_message_handler(conv_register, commands=['regconv'])
    dp.register_message_handler(
        anything, content_types=['photo', 'document', 'animation', 'text'])
    dp.register_callback_query_handler(callback_handler,
                                       lambda chosen_inline_query: True)