@fodiche

Как сделать ежеднеаное начисление денег в боте по написсаной команде в чат, но если пользователь уже получал деньги в течении 24 часов то бот писал?

суть в том что когда человек пишет "ва" ему должно пополнить счет на определенную сумму, но если он ее уже писал в течении 24 часов то бот выдал ошибку и указал через сколько команду можно будет написать еще раз

if msg == "ва":
					db = sqlite3.connect('server12.db')
					db.row_factory = sqlite3.Row
					cursor = db.cursor()
					vatime = time.time()+1
					if time.time()<vatime:
						sender(id, "Эту команду можно использовать раз в 24 часа!")
					else:
						cursor.execute(f"UPDATE users SET money = money+400 WHERE user_id = {user_id}")
						sender(id, "На счет @{user_id}{fullname} Начисленно 400$")
					db.commit()
  • Вопрос задан
  • 84 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
Как бы это в реальной жизни делали? Наверное, запомнили время выдачи денег и при повторном запросе посчитали бы, прошло ли 24 часа. В коде это никак не отличается. Запоминаете текущее время при выдаче денег через тот же time.time(), при следующем запросе из time.time() вычитаете прошлый результат time.time(). Если получившееся число больше 60*60*24, то прошло 24 часа.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы