Как вариант, написать кастомный фильтр
from datetime import datetime
works_from = datetime.strptime('00:00','%H:%M')
works_to = datetime.strptime('15:00','%H:%M')
class TimeBlock(telebot.custom_filters.SimpleCustomFilter):
key='time_block'
@staticmethod
def check(message: telebot.types.Message):
current_time = datetime.strptime(datetime.fromtimestamp(message.date).strftime('%H:%M'), '%H:%M')
return current_time > works_from and current_time < works_to
@bot.message_handler(time_block=True, content_types=['text'])
def send_text(message):
bot.send_message(message.chat.id, 'Hello, world!')
bot.add_custom_filter(TimeBlock())
Вроде как-то так. Преобразование времени не оч по-моему, но всё равно