This commit is contained in:
Andrey Gumirov
2022-05-01 00:57:58 +07:00
parent a968042f6e
commit e1bd7234ed
19 changed files with 329 additions and 39 deletions

View 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)