Для установки ограничения по времени на выполнение команды можно использовать модуль `datetime` в Python.
Вам понадобится добавить в код следующую проверку перед активацией промокода:
```python
import datetime
@bot.message_handler(content_types=['text'])
def work_command(message):
user_id = message.from_user.id
if message.text.lower() == 'промокод':
if user_id in points:
last_activation = points[user_id]['last_activation']
current_time = datetime.datetime.now()
time_difference = current_time - last_activation
if time_difference.days >= 7:
points[user_id]['points'] = 5
points[user_id]['last_activation'] = current_time
bot.send_message(user_id, "Спасибо за активацию. Вы сможете повторно использовать промокод через 7 дней.")
else:
bot.send_message(user_id, "Вы уже использовали промокод. Повторное использование будет доступно через {} дней.".format(7 - time_difference.days))
else:
current_time = datetime.datetime.now()
points[user_id] = {'points': 5, 'last_activation': current_time}
bot.send_message(user_id, "Спасибо за активацию. Вы сможете повторно использовать промокод через 7 дней.")
```
В примере выше добавляется новый словарь в `points` для каждого пользователя, который содержит количество очков и время последней активации промокода. При повторном использовании команды "промокод" проверяется, прошло ли уже 7 дней с последней активации. Если прошло, очки обнуляются и время последней активации обновляется. Если не прошло, отправляется сообщение с оставшимся временем до повторного использования команды.
Обратите внимание, что вам также понадобится импортировать модуль datetime, если его еще нет в вашем коде:
```python
import datetime
```