Как можно сделать бонус раз в 24 часа?
Фиксируешь время нажатия на кнопку.
Выбираешь из базы значение предыдущего времени по id пользотеля запросом SELECT.

Если значения нет, человек пишет в первый раз, заносим значение времени и id пользователя в базу запросом INSERT. Отправляем сообщение о бонусе.

Если значение есть, и разница между ним и текущим временем более 24 часов, человек может получить бонус. Обновляем значение в базе запросом UPDATE и отправляем сообщение о бонусе.

Если значение есть, и разница менее 24 часов, отправляем сообщение с оставшимся до следующего бонуса временем.
Человек: написал боту
бот: Эй БД тут чел с таким id написал. Есть он у тебя внутри?
БД: Такого айди нет
бот: Ну тогда запиши его, и еще время запиши которое сейчас
БД: success
Человек2: написал боту
бот: Эй БД тут чел с таким id написал. Есть он у тебя внутри?
БД: Да, есть такой. Последний раз 25 часов назад писал
бот: Круто, до связи.
бот *человеку2*: Братан ты молодец что написал еще раз, на тебе подарок