Longpoll не выводит первое событие после простоя, как исправить?
После простоя первое событие не выводиться на экран, если постоянно без остановки поступают события, то все нормально выводится. Если простой - всё, не все события. Как исправить, через потоки или что-то другое, или вообще связано с longpoll, возможно ts?
import os
import sys
import vk_api
import telebot
import settings
from vk_api.longpoll import VkEventType, VkLongPoll
def main():
vk_s = vk_api.VkApi(token = settings.vk_token)
vk = vk_s.get_api()
def getUserName (user_id):
userData = vk.users.get(user_ids = user_id)
userName = f"{userData[0]['first_name']} {userData[0]['last_name']}"
return userName
def getChatName (chat_id):
chatData = vk.messages.getChat(chat_id = chat_id)
title = chatData['title']
return title
def eventFromUser():
user_id = event.user_id
text = event.text
message = f'*{getUserName(user_id)}*\n{text}'
return message
def eventFromChat ():
chat_id = event.chat_id
user_id = event.user_id
text = event.text
message = f'*{getChatName(chat_id)}* {getUserName(user_id)}\n{text}'
return message
def eventType():
if event.type == VkEventType.MESSAGE_NEW and event.to_me:
if event.from_user:
print(eventFromUser())
if event.from_chat:
print(eventFromChat())
while True:
longpoll = VkLongPoll(vk_s)
try:
for event in longpoll.listen():
eventType()
except:
continue
if __name__ == '__main__':
main()