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 глобальной для обоих вызовов.