Бот-викторина в vk на vkwave, декораторы и асинхронные функции

Появилась идея написать бота-викторину в вк. Т.к. занимаюсь программированием по мере вдохновения, не получается разобраться в декораторах и асинхронных функциях python. Схема такая: человек пишет в личные сообщения группы кодовое слово "викторина", бот задает вопрос, человек отвечает, и если отвечает правильно, то например хвалит его, если нет, не хвалит. Этот код умеет только задавать вопрос, дальше соответственно ничего не работает, просто код с примерной логикой:

import csv
import random
import asyncpraw
import asyncio
import config
from vkwave.bots import SimpleLongPollBot, SimpleBotEvent
 
with open('questions.csv', encoding='utf8') as f:
  reader = list(csv.DictReader(f, delimiter = ";"))
bot = SimpleLongPollBot(tokens=config.settings['TOKEN'],
                        group_id=group_id)

@bot.message_handler(bot.text_filter(["викторина"]))
async def quest(event: SimpleBotEvent) -> str:
    n = random.choice(reader)
    await event.answer(n['Вопрос'])

    ###Этот кусок кода не работает
    answer_from_user = bot.message_handler()        
    if answer_from_user == n['Ответ']:         
      await event1.answer("Молодец")
    else:
      await event1.answer("Не молодец") 
    ####

bot.run_forever()

Подскажите, пожалуйста, как сделать правильно. Есть мысль реализовать это через БД, но думается, что есть способ попроще и покрасивее


Ответы (0 шт):