Как сделать что бы скрипт работал всё время?
Не знаю как устроен ваш код, но подозреваю, что надо слушать в бесконечном цикле, запуская функции в отдельных потоках.
Вот пример для изучения, 2 функции выполняются не зависимо друг от друга. Для примера одна с бесконечным циклом, вторая с конечным, первая продолжит выполняться не зависимо от того что завершилась вторая.
from threading import Thread
from time import sleep


def print_some1(txt):
    while True:
        print(f'{print_some1.__name__} - {txt}')
        sleep(.5)


def print_some2(txt, n):
    while n < 10:
        n += 1
        print(f'{print_some2.__name__} - {txt}')
        sleep(.75)


if __name__ == '__main__':
    text = 'some text message'
    Thread(target=print_some1, args=(text,)).start()
    Thread(target=print_some2, args=(text, 1)).start()