Подключаюсь к вебсокету через websockets python и в цикле слушаю сервер, но еще нужно через каждые 60 сек отправлять "websocket.send('online')". поэтому придумал функцию, в которую передаю текущее подключение и через неё отправляю "websocket.send('online')". Я решил использовать для этих целей QTimer(в котором и будет происходить обращение к серверу) ,но при запуске таймера появляется ошибка - "object NoneType can't be used in 'await' expression".
Прошу совет, в какую сторону гуглить, или же предложите альтернативу QTimer.
Отрывок кода:
async def hello(self):
try:
while True:
print('попытка подключиться к серверу')
try:
get_auth = requests.get(
'https://market.csgo.com/api/GetWSAuth/?key=***').text
auth_key = json.loads(get_auth)['wsAuth']
print('Успешно подключились')
break
except BaseException as err:
print('Неудача следующая попытка через 60 сек...')
self.msleep(60000)
uri = "wss://wsn.****"
async with websockets.connect(uri) as websocket:
await websocket.send(auth_key)
# Запускаем QTIMER КОТОРЫЙ БУДЕТ ЗАПУСКАТЬ ФУНКЦИЮ ДЛЯ ОТПРАВКИ PING
await self.timer_ping.start(60000)
#Цикл в котором слушаем сервер
while True:
print('зашли в цикл')
greeting = await websocket.recv()