@shampyn

Как сделать ожидание сообщения от пользователя на Python 3?

Делал бота для вк, на python 3 и мне понадобилось что бы бот ожидал сообщения.
Вот примерный код:
import vk_api
import time
import json
while True:
    try:
    #  главный цикл
        messages = vk.method("messages.getConversations", {"offset": 0, "count": 20})
        if messages["count"] >= 1:
            id = messages["items"][0]["last_message"]["from_id"]
            body = messages["items"][0]["last_message"]["text"]
            elif body == "Пароли":
                vk.method("messages.send", {"peer_id": id, "message": "Введите ваш пароль: "})
                if body == "*пароль*":
                    vk.method("messages.send", {"peer_id": id, "message": "*все пароли*"})
                else:
                    vk.method("messages.send", {"peer_id": id, "message": "Не верный пароль: "})
        time.sleep(0.5)
    except Exception as E:
        time.sleep(1)

Проблемма в том что после выполнения "elif body == 'Пароли': ", обновременно выполняется "vk.method("messages.send", {"peer_id": id, "message": "Введите ваш пароль: "})" и "vk.method("messages.send", {"peer_id": id, "message": "Не верный пароль: "})",а мне нужно что бы после "vk.method("messages.send", {"peer_id": id, "message": "Введите ваш пароль: "})" нужно было ввести пароль и если он верный (в данном случае *пароль*), выполнялась команда "vk.method("messages.send", {"peer_id": id, "message": "*все пароли*"})", ну а если не верный, то "vk.method("messages.send", {"peer_id": id, "message": "Не верный пароль: "})".
  • Вопрос задан
  • 826 просмотров
Пригласить эксперта
Ответы на вопрос 1
@StockholmSyndrome
вообще, вы неправильно получаете сообщения
для этого есть специальные инструменты: Bots LongPoll API и Callback API
скорее всего, с ними будет легче решить вашу задачу
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы