Принцип работы бота следующий, имеется csv файл с вопросами/ ответами, из файла создается словарь, из словаря выбирается рандомная строка, после идет работа с выбранной рандомной строкой.
Не могу реализовать функцию, если юзер отвечает правильно - задается следующий вопрос (15 вопросов на игру) + каждый новый вопрос отличался от предыдущего
Вот мой код
import vk_api
from vk_api.longpoll import VkLongPoll, VkEventType
import csv
import random
session = vk_api.VkApi(token="TOKEN")
# Функция отправки сообщения
def sendMessage(user_id, message):
session.method("messages.send", {
"user_id": user_id,
"message": message,
"random_id": 0
})
# Импортируем csv файл, записываем его в словарь
with open('millionerQuestions(1).csv', mode='r', encoding='utf-8-sig') as f:
reader = csv.DictReader(f, delimiter=";")
millionerList = list(reader)
randomLine = random.choice(millionerList)
for event in VkLongPoll(session).listen():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
text = event.text
user_id = event.user_id
if text == "/start":
sendMessage(user_id, "Здравствуйте! Хотите сыграть в игру?")
if text == "Нет":
sendMessage(user_id, "Жаль :( Когда надумаете напишите команду /start")
if text == "Да":
sendMessage(user_id, "Начнем!")
# Из рандомной строки словаря выводим вопрос
sendMessage(user_id, randomLine["Question"])
# Из этой же строки словаря выводим варианты ответов
sendMessage(user_id, randomLine["allAnswer"])
sendMessage(user_id, 'Введите ваш ответ: ')
# Сравниваем ответ юзера с правильным ответом из словаря
if text == (randomLine["correctAnswer"]):
sendMessage(user_id, 'Совершенно верно!')
if text != (randomLine["correctAnswer"]):
sendMessage(user_id, 'Вы проиграли :(')