Сделал парсер сообщений вконтакте - телеграмм. Вылетает на termux

Сделал парсер сообщений вконтакте - телеграмм через бота используя библиотеку aiogram. Основная цель - пересылать сообщения из беседы вконтакте в чат телеграмм. Хотел сделать чтобы бот сам пересылал сообщения, но получилось так что запускается он по команде и пересылает сообщения только в тот чат где он был запущен этой командой. Проблема в том что я запускаю его на телефоне через Termux и при ошибке цикл прекращается и скрипт вылетает с ошибкой, хотелось бы что бы при при любой ошибке цикл возобновлял свою работу через некоторое время (time.sleep) и не вылетал на termux. На windows скрипт работает нормально при появлении ошибки он повторяет цикл.

from config import token, CHANNEL_ID
import config
import vk_api
import time
import logging
from aiogram import Bot, Dispatcher, types, executor

logging.basicConfig(level=logging.INFO)
bot = Bot(token=token)
dp = Dispatcher(bot)

@dp.message_handler(commands=['dps'])
async def commands_start(message : types.Message):
    while True:
        print("start")
        try:
            vk_session = vk_api.VkApi(token=config.vk_token)
            api = vk_session.get_api()
        except:
            continue
        x = (api.messages.getConversations())
        #print(api.messages.getConversations())
        y = (x["items"])
            
        z = (y[0])

        e = (z['last_message'])

        v = (e['from_id'])
        c = (e['text'])
        i = (e['date'])
        print('Поиск новых сообщений')
        time.sleep(3)
        VK_message = (c)
        print(VK_message)
            
        file = open('last_m.txt', 'r')
        rf = file.readline()
        file.close()
        print(rf)
        print('начало работы условий')
        if VK_message == "":
            print("нет сообщения")
        if rf == VK_message:
            print('тоже самое.')
        else:
            print("Новое сообщение!")
            file = open('last_m.txt', 'w')
            file.write(VK_message)
            file.close()
            print('Отравка сообщения в телегу')

            file = open('last_m.txt', 'r')
            neww_message = file.readline()
            file.close()
            await message.answer(neww_message)
    

if __name__ == "__main__":
    executor.start_polling(dp, skip_updates=True)

Ответы (0 шт):