MVP
This commit is contained in:
26
middlewares/test_state_middleware.py
Normal file
26
middlewares/test_state_middleware.py
Normal file
@ -0,0 +1,26 @@
|
||||
import json
|
||||
import logging
|
||||
|
||||
from vkwave.bots import BaseMiddleware, BotEvent, MiddlewareResult, SimpleBotEvent, Storage
|
||||
from vkwave.bots.storage.types import Key
|
||||
|
||||
from db import DB, Candidate
|
||||
from util.redis_db import RedisDB
|
||||
|
||||
storage = Storage()
|
||||
|
||||
|
||||
class TestStateMiddleware(BaseMiddleware):
|
||||
async def pre_process_event(self, event: BotEvent) -> MiddlewareResult:
|
||||
user_id = event.object.object.message.from_id
|
||||
redis_test_state = RedisDB().get_state(user_id)
|
||||
logging.debug(event.object.object.message.payload)
|
||||
payload_json = json.loads(event.object.object.message.payload) if event.object.object.message.payload else {}
|
||||
|
||||
if 'test' not in payload_json.keys() and (
|
||||
redis_test_state != None):
|
||||
logging.debug(f"User {user_id} is in state: {redis_test_state}")
|
||||
payload_json["test"] = int(redis_test_state)
|
||||
|
||||
event.object.object.message.payload = json.dumps(payload_json)
|
||||
return MiddlewareResult(True)
|
Reference in New Issue
Block a user