Здравствуйте. В конце бота стоит запуск цикла, в котором инициализируется запуск бота.
Выглядит всё это подобным образом:
spoiler#Выше находятся команды бота
async def main():
polling_task = asyncio.create_task(dp.start_polling())
data = json.loads(await client.recv())
url = "ССЫЛКА НА ВЕБСОКЕТ"
async with websockets.connect(url) as client:
while True:
data = json.loads(await client.recv())
#Далее идёт работа с json массивом и отправка сообщения
if __name__ == '__main__':
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
Первое время всё отлично работает, но иногда бот теряет соединение с сервером и не хочет дальше работать.
Цитирую ошибку:
aiogram.utils.exceptions.NetworkError: Aiohttp client throws an error: ServerDisconnectedError: Server disconnected
Как я понял, бот теряет соединение с сервером и перестаёт отвечать на запросы. Работа цикла при этом продолжается и сообщения отправляются, бот перестаёт реагировать на команды.