This commit is contained in:
@ -1,12 +1,29 @@
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, EventTypeFilter
|
||||
from vkwave.types.bot_events import BotEventType
|
||||
|
||||
import locales
|
||||
|
||||
menu_router = DefaultRouter()
|
||||
|
||||
|
||||
@simple_bot_message_handler(menu_router,)
|
||||
@menu_router.registrar.with_decorator(
|
||||
EventTypeFilter(BotEventType.MESSAGE_NEW.value),
|
||||
)
|
||||
async def menu(event: SimpleBotEvent):
|
||||
return await event.answer(
|
||||
sevent = SimpleBotEvent(event)
|
||||
return await sevent.answer(
|
||||
message=locales.MENU,
|
||||
keyboard=locales.MENU_KB.get_keyboard(),
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@menu_router.registrar.with_decorator(
|
||||
EventTypeFilter(BotEventType.GROUP_JOIN.value),
|
||||
)
|
||||
async def menu(event: SimpleBotEvent):
|
||||
return await event.api_ctx.messages.send(
|
||||
keyboard=locales.MENU_KB.get_keyboard(),
|
||||
peer_id=event.object.object.user_id,
|
||||
message=locales.MENU,
|
||||
random_id=0
|
||||
)
|
||||
|
@ -1,10 +1,16 @@
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadContainsFilter, BotEvent
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadContainsFilter, BotEvent, \
|
||||
EventTypeFilter
|
||||
from vkwave.types.bot_events import BotEventType
|
||||
|
||||
import locales
|
||||
|
||||
student_router = DefaultRouter()
|
||||
|
||||
|
||||
@student_router.registrar.with_decorator(PayloadContainsFilter("student"),)
|
||||
@student_router.registrar.with_decorator(
|
||||
EventTypeFilter(BotEventType.MESSAGE_NEW.value),
|
||||
PayloadContainsFilter("student"),
|
||||
)
|
||||
async def student_menu(event: BotEvent):
|
||||
sevent = SimpleBotEvent(event)
|
||||
return await sevent.answer(
|
||||
|
@ -1,10 +1,16 @@
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadContainsFilter, BotEvent
|
||||
from vkwave.bots import DefaultRouter, SimpleBotEvent, simple_bot_message_handler, PayloadContainsFilter, BotEvent, \
|
||||
EventTypeFilter
|
||||
from vkwave.types.bot_events import BotEventType
|
||||
|
||||
import locales
|
||||
|
||||
teacher_router = DefaultRouter()
|
||||
|
||||
|
||||
@teacher_router.registrar.with_decorator(PayloadContainsFilter("teacher"),)
|
||||
@teacher_router.registrar.with_decorator(
|
||||
EventTypeFilter(BotEventType.MESSAGE_NEW.value),
|
||||
PayloadContainsFilter("teacher"),
|
||||
)
|
||||
async def teacher_menu(event: BotEvent):
|
||||
sevent = SimpleBotEvent(event)
|
||||
return await sevent.answer(
|
||||
|
@ -26,11 +26,6 @@ from util.redis_db import RedisDB
|
||||
|
||||
test_router = DefaultRouter()
|
||||
|
||||
fsm = FiniteStateMachine()
|
||||
test_router.registrar.add_default_filter(StateFilter(fsm, ..., ..., always_false=True))
|
||||
test_router.registrar.add_default_filter(
|
||||
EventTypeFilter(BotEventType.MESSAGE_NEW.value)) # we don't want to write it in all handlers.
|
||||
|
||||
|
||||
# # exiting from poll (works on any state)
|
||||
# @test_router.registrar.with_decorator(
|
||||
@ -44,6 +39,7 @@ test_router.registrar.add_default_filter(
|
||||
# return "You are quited!"
|
||||
|
||||
@test_router.registrar.with_decorator(
|
||||
EventTypeFilter(BotEventType.MESSAGE_NEW.value),
|
||||
PayloadContainsFilter("test"),
|
||||
)
|
||||
async def main_part_handle(event: BotEvent):
|
||||
|
Reference in New Issue
Block a user