Делал бота для вк, на 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": "Не верный пароль: "})".