GroupReward - награда за вступление в группу

Одноразовая награда за вступление в группу: серверная проверка членства и защита от повторной выдачи.

Проверка членства идёт только на сервере и кэшируется, чтобы каждый клик по кнопке не уходил в API группы. Факт выдачи пишется в DataStore, поэтому переподключение или переход на другой сервер не позволяют забрать награду второй раз. Отметка о выдаче ставится до самой выдачи, а не после: иначе два одновременных вызова с разных серверов успели бы пройти проверку и выдать награду дважды. UpdateAsync здесь работает как замок. Если выдача не удалась, отметка снимается и игрок может попробовать снова. Метод claim возвращает причину отказа отдельно от результата, чтобы интерфейс показал внятный текст, а не одинаковое «не получилось» на все случаи.

Возможности

В комплекте