Первое: бот не банит нарушителя, потому что самого кода с баном нету, бот только отправляет emb и чистит сообщение в канале.
Второе: чтобы админ не мог банить (т.к. он ниже по правам) - можно вместо @commands.has_permissions сделать команды по ролям.
Hemul GM, а в чем собственно проблема? По сути на любом языке программирования можно сделать бота/скрипт/программу и т.д. Зависит от того, кто пишет бота
aiogram - асинхронная библиотека
Для ВКонтакте тоже есть асинхронные библиотеки - vkbottle и vkwave (из известных мне)
Так-же есть синхронная библиотека для ВКонтакте - vk_api
Аналоги aiogram для вк - это асинхронные библиотеки
Лучше сделать через бд. Записываешь туда последнюю дату получения и потом сравниваешь при вызове команде - если между той датой и сейчас прошло более или ровно 24 часа - даёшь бонус и обновляешь дату, если нет - то нет