1. Чтобы вызвать функцию из другой функции, можно использовать обычный синтаксис вызова функций. Например: ```python def func1(): # код функции func1 print("Вызываю функцию func2") func2() def func2(): # код функции func2 print("Функция func2 вызвана") func1() ``` В этом примере функция `func1` вызывает функцию `func2`, что позволяет выполнить код из `func2`. 2. Чтобы остановить выполнение функции после определенного времени, можно использовать модуль `time` вместе с условным оператором `if`. Например: ```python import time def start_stop(): start_time = time.time() while True: # код функции current_time = time.time() if current_time - start_time >= 10: # остановка после 10 секунд break start_stop() ``` В этом примере функция `start_stop` сохраняет время начала выполнения с помощью `time.time()` и входит в бесконечный цикл. Затем она проверяет текущее время с помощью `time.time()` и, если прошло достаточно времени (в данном случае 10 секунд), останавливает выполнение цикла с помощью оператора `break`.
Осознайте, что операторы выполняются последовательно. Пока функция start_stop(True) не закончит выполнение, функция time.sleep() даже не начнёт выполняться, не говоря уже о последующих действиях. Кроме того, функция start_stop(True) создает бесконечный цикл, который никогда не завершится. Также стоит обратить внимание на тег aiogram, так как использование функции time.sleep() в асинхронных приложениях является неудачной идеей. Рекомендуется сначала разобраться в работе асинхронных приложений. Можно использовать threading или асинхронную разработку на корутинах, но не рекомендуется смешивать эти два подхода. Поэтому перед принятием решения следует определиться, какой подход выбрать.
Сделайте переменную current_bool глобальной для обоих вызовов.