@duduychvbk99

Как реализовать такое через telebot и datetime?

Человек пишет: отправить
Бот отвечает: готово
В ином случае: если не прошел час после следующего запроса бот пишет нельзя.
Желательно с кодом, потому что я чайник в этом
  • Вопрос задан
  • 234 просмотра
Пригласить эксперта
Ответы на вопрос 1
InternetMaster
@InternetMaster
Интернет
Надо работать с базой данных. sqlite3 подойдет.
После отправки сообщения ботом "готово" необходимо добавить об этом запись(если пользователь впервые в боте, или обновить запись если он уже отправлял запрос). Где table - название таблицы.

sql = ('INSERT INTO table (user_id, date) VALUES (?, ?)')
val = (str(message.chat.id), date) #date - Это ЧЧ:ММ в формате 24часовой системы. Не надо полную дату.
cursor.execute(sql, val)
db.commit()

#Или обновить

cursor.execute('UPDATE date  = "' + date + '" FROM table WHERE user_id = "' + str(message.chat.id) + '"')
db.commit


Потом, после каждой команды пользователя "отправить" скрипт будет сверять значение с предыдущим, и если разница более 1 часа, то бот будет отвечать "готово". Для этого надо вытащить предыдущее значение с поиском по user_id. Чтобы не парится с id строчки, после проверки значение заменить на новое. Надеюсь, тут сам разберешься.
Ответ написан
Ваш ответ на вопрос

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

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