Вы можете создать таймер с использованием модуля `threading`. Вот пример реализации таймера в телеграм-боте с использованием `pytelegrambotapi`:
```python
import threading
import time
import telebot
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['timer'])
def start_timer(message):
timer_thread = threading.Thread(target=timer_function, args=(message,))
timer_thread.start()
def timer_function(message):
bot.send_message(message.chat.id, "Таймер запущен. Подождите 5 секунд...")
time.sleep(5) # Здесь можно изменить время таймера
bot.send_message(message.chat.id, "Таймер истек.")
bot.polling()
```
При выполнении команды `/timer` бот создаст новый поток и запустит функцию `timer_function`, которая будет отправлять сообщения через определенный промежуток времени. Обратите внимание, что `time.sleep()` используется внутри потока, чтобы не блокировать основной поток выполнения бота. Поэтому другие функции бота остаются доступными.
Если вы хотите, чтобы при выполнении команды `/timer` показывалось сообщение "Подождите n секунд" до истечения времени, то следующий пример покажет как это сделать:
```python
import threading
import time
import telebot
bot = telebot.TeleBot('TOKEN')
@bot.message_handler(commands=['timer'])
def start_timer(message):
timer_thread = threading.Thread(target=timer_function, args=(message,))
timer_thread.start()
def timer_function(message):
bot.send_message(message.chat.id, "Таймер запущен. Подождите 5 секунд...")
for i in range(5, 0, -1):
bot.send_message(message.chat.id, f"Подождите {i} секунд...")
time.sleep(1)
bot.send_message(message.chat.id, "Таймер истек.")
bot.polling()
```
В этом примере каждую секунду отправляется новое сообщение с уменьшающимся числом секунд до истечения времени.