Как сделать, что бы определенную функцию можно было ввести раз в определенное время?
Здравствуйте, я начинающий программист, я пишу своего бота в ВК (vk_api) на Python3
Я бы хотел задать вопрос.
Я хочу добавить команду "Бонус", но мне надо, что бы пользователи могли ввести эту команду раз в 24 часа, как это сделать?..
Я использовал модуь time, и функцию time.sleep() в модуле, но как вы понимаете, это останавливает всю программу, возможно ли сделать, что бы пользователь мог ввести команду раз в определенное время (к примеру 24 часа)?
Возможно после первого вызова команды Бонус нужно запоминать ее время и все последующие вызовы сравнивать по времени. По прошествии времени, когда ваша команда сработает, перезаписывайте временную метку и т.д. Так же не совсем понятно, эта команда для каждого индивидуально работает или для всех одно общее время.
Переводи время последнего получения бонуса в unixtime, записывай это значение для каждого юзера в базу данных, и при последующем сообщении "Бонус" пусть программа получает настоящее значение времени и так же переводит в unixtime. Дальше
if (unixtime_currently - unixtime_old) > 86400:
givebonus()
else:
sendmessage('Для получения бонуса нужно подождать ещё'+need_time) # и здесь отправить время, которое нужно подождать для получения бонуса. узнать его можно так же через разницу во времени и потом делением на 60 итд.
Гамид Рагимов, слушай, забудь про кодить с мобилы))
я не совсем твой код понимаю, ты юзаешь разные модули для получения времени? неужели нет модуля который сразу unix-time выдает? с этим разберешься, а дальше всё элементарно.