Как остановить через минуту выполнение цикла for event in longpoll.listen():
listen() запускает "слушать сервер". C помощью break с условием "стоп" программа останавливается. Но как сделать, чтобы программа остановилась через определенное время, если нет событий (message), без 'KeyboardInterrupt'. Или подскажите готовый ответ по ссылке.
import time
vk = vk_api.VkApi(token=group_token)
longpoll = VkLongPoll(vk, group_id=group_id)
def write_msg(user_id, message):
vk.method('messages.send', {'user_id': user_id, 'message': message, 'random_id': random.randrange(10**7)})
for event in longpoll.listen():
if event.type == VkEventType.MESSAGE_NEW:
if event.to_me:
msg_to_me = event.text.lower()
event_id = event.user_id
if msg_to_me == "привет":
write_msg(event_id, f"Привет, друг!")
elif msg_to_me == "пока":
write_msg(event_id, "Пока, дружище!")
elif msg_to_me == "8":
write_msg(event_id, "Сеанс окончен")
break
else:
write_msg(event_id, "Напишите 'привет' или 'пока' или '8', если хотите завершить сессию...")
print(f'{msg_to_me}, {event_id}')
time = 10
stop_event.wait(time)