Как сделать чтобы команду нельзя было использовать 24 часа?
как сделать, чтобы когда человек писал команду, ему начислялиль деньги, но если в течении дня он пропишет эту же команду, то нечего не произойдет, а после того как пройдет 24 часа команда будет снова доступна
Здесь без базы данных не обойтись, используй sqlite. (можно конечно все записывать в переменную, но если твоя программа перезагрузится, вся информация о перечислениях денег пропадет).
1. Если пользователь написал команду, и ему перевелись деньги, то сохраняешь его в базе данных по его id (id пользователя в контакте), и дату когда он написал это сообщение.
2. При следующем вводе команды пользователем, проверяешь есть ли он в базе, если его там нет, проделываешь все как в первом пункте, а если он там есть, проверяешь прошло ли 24 часа с тех пор как он получил деньги.
Посчитать прошло ли 24 часа можно используя стандартную библиотеку datetime, почитать можешь здесь.
from datetime import datetime
# user_date время, когда последний раз переводились деньги пользователю
user_date = '2021-09-28 17:19:00'
timedelta = datetime.now() - datetime.strptime(user_date, '%Y-%m-%d %H:%M:%S')
#Проверим, прошло ли 24 часа
if timedelta.total_seconds() > 86400:
print('24 часа прошли')
else:
print('24 часа не прошли')
Блин, ты поиском пользовался? Полно же таких вопросов на этом сайте, для самых разных мессенджеров. Причем как раз в такой формулировке, как у тебя.
Для каждого пользователя храни последнюю дату и время ввода команды. При следующем вводе проверяй, когда был последний ввод, и прошли ли сутки с тех пор.
Если нужно, чтобы эта информация пережила перезапуск бота - то сразу используй БД. Можно sqlite3, она в питоне есть встроенная.
Только сначала про основы SQL почитай, а то шишек набьёшь немеряно.