Как обратиться к методу event.from или как-то так к конкретному пользователю по id? - PullRequest
0 голосов
/ 05 мая 2019

Я запрограммировал бот ВКонтакте, в котором есть тест, и столкнулся с проблемой, что бот читает сообщения от человека, который не отвечает на тест, и считает, что этот человек ответил на это в режиме викторины, и отвечает на вопрос.Человек в викторине, что он ответил неправильно, даже если он ничего не писал.Помогите!Я искал в Интернете решение этой проблемы, но через два дня ничего не нашел.

event.from не имеет этого метода

if viktorina_ready == 1 and python == 1 and right_ans_py == 0 and ans_give_py == 0: #It works as a test to see if a person enters quiz mode.
    person_py = 1
    person_id_py = event.user_id
    vk_session.method('messages.send', {'user_id': person_id_py, 'message': '''question1''', 'random_id': random.randint(-2147483648, +2147483648),"keyboard": keyboards.create_keyboard_4('a', 'b', 'c','d')})
    ans_give_py = 1
    ans_give_true_py = 0
elif viktorina_ready == 1 and python == 1 and right_ans_py == 0 and (response == 'a' or response == 'a'): #It works as a test to see if a person give right answer
    right_ans_py = 1
    ans_give_true_py = 1
    ans_give_py = 0
    vk_session.method('messages.send', {'user_id': person_id_py, 'message': 'right','random_id': random.randint(-2147483648, +2147483648)})
elif viktorina_ready == 1 and python == 1 and right_ans_py == 0 and (response != 'a' or response != 'a') and ans_give_true_py == 0: #It works as a test to see if a person give wrong answer
    vk_session.method('messages.send', {'user_id': person_id_py, 'message': '''wrong''', 'random_id': random.randint(-2147483648, +2147483648)})
    viktorina = 0
    viktorina_ready = 0
    python_py = 0
    right_ans_py = 0
    ans_give_py = 0
    ans_give_true_py = 0
    person_py = 0
    person_id_py = ""

Ответ данПользователь, который находится в режиме викторины, хотя он ничего не ответил.Я обнаружил, что это связано с отсутствием проверки идентификатора пользователя, отправившего сообщение.

...