Продление новогоднего розыгрыша

Из-за некоторых последних обновлений, произошла ошибка в системе розыгрышей, где произошел выигрыш у всех пользователей, кто участвовал в нём. Первым делом были исключены пользователи, которые имеют место > 42. Но данное решение не помогло в связи с тем, что были записаны все первые 42 пользователя, которые были отсортированы по порядку, а раз выиграли все пользователи, кто участвовал, то в том порядке они и были записаны. Ошибка была исправлена, победители тем кому уже был отправлен приз от администрации, возвращать его мы не стали и не будем.
Помимо этого мы добавим ещё призов вам и попытаемся компенсировать в какой то мере данную ошибку.
Приносим свои извинения за данный инцидент.
Розыгрыш будет завершен 1 января в 00:00, подведение итогов начнётся после 13:00 по МСК
 
Последнее редактирование:
Эх только обрадовался :rolleyes:
1672440031010.png
 
Обратите внимание, что данный пользователь заблокирован! Не совершайте с ним никаких сделок! Перейдите в его профиль, чтобы узнать причину блокировки.
Ну что ж, и такое бывает

И когда будет розыгрыш теперь?)
 
Ну, теперь всё встало на свои места (подумал, что выиграл впервые и это означало, что что-то пошло не так), но теперь я спокоен - ничего нового, всё как обычно, летим дальше в адЪ...
 
Бывает, ничего странного. Вдруг с 2 раза выиграем😁😇
 
Какая ошибка, это не ошибка, это новогодняя магия, чтобы каждый смог побывать в шкуре викинга и ощутить себя победителем хотя бы на короткий миг. Ведь если поразмыслить, попримерять масштабы времени, соотнести с разными событиями всё и всех, в какой-то момент покажется, что вся наша жизнь - короткий миг. Это короче победа всей жизни, а не ошибка, во как.

P.S.: вакансии штатного пропагандиста можно присылать почтовыми голубями, если Вам их совсем не жалко, конечно.
 
слыш, какая ошибка, мине пиxyй вашет, наливай))
А есть кто пакажит?
 
Честно скажу, без сарказма, меня порадовало что я выиграл, пришло письмо: вы победили в розыгрыше ! А что где и сколько уже не важно! Спасибо администрации, очень приятно!
Всем праздничного настроения и до встречи в следующем году!)
 
Хех забавно:)
 
Из-за некоторых последних обновлений, произошла ошибка в системе розыгрышей, где произошел выигрыш у всех пользователей, кто участвовал в нём. Первым делом были исключены пользователи, которые имеют место > 42. Но данное решение не помогло в связи с тем, что были записаны все первые 42 пользователя, которые были отсортированы по порядку, а раз выиграли все пользователи, кто участвовал, то в том порядке они и были записаны. Ошибка была исправлена, победители тем кому уже был отправлен приз от администрации, возвращать его мы не стали и не будем.
Помимо этого мы добавим ещё призов вам и попытаемся компенсировать в какой то мере данную ошибку.
Приносим свои извинения за данный инцидент.
Розыгрыш будет завершен 1 января в 00:00, подведение итогов начнётся после 13:00 по МСК
Думал повезло... А нет - показалось
 
Да, это просто было приятное письмо, даже не выиграв ничего, мы уже выиграли эту жизнь!
С наступающим всех Новым годом!!!
 
Более подробно для тех, кого всё таки интересовало как такое произошло. Как мы видим из темы: Нововведения за 14.07.22-08.12.2022. У нас появились новые функции, что бы ограничить пользователей, которые нарушают правила и были либо заблокированы или отправлены только в чтение, т.к выигрыш он свой мало вероятно, что смог бы забрать, как и было написано в обновлениях:
Если пользователь заблокирован, он не выиграет в розыгрыше, если до этого записался
Если пользователь попал в группу только чтение, то он так же больше не сможет выйграть в розыгрыше, если до этого записался
Но к сожалению, что бы могло пойти не так? Тесты были минимальные и была совершенна обычная человеческая ошибка в тернарном операторе и к сожалению, мы не можем использовать юнит тесты и не только для дополнений, т.к даже движок не предоставляет возможность автотестов и не только, был бы какой ни будь phpunit, наверное можно было избежать. Ну а для сомневающихся мы приложим код:
PHP:
public function getNewWinners()
    {
        $participants = $this->ContestParticipants->filter(function (ContestParticipant $participant) {
            if ($participant->User->is_banned) {
                return false;
            }

            if ($participant->User->isMemberOf(\XF::options()->mcContestExcludeWinGroups)) {
                return false;
            }

            return true;
        })->toArray();

        $countWinners = $this->data['count_winners'] >= count($participants) ? $this->data['count_winners'] : count($participants);
        return Arr::random(array_values($participants), $countWinners);
    }
А если рассматривать более конкретно данную ошибку, то она находится в тернарном операторе:
$countWinners = $this->data['count_winners'] >= count($participants) ? $this->data['count_winners'] : count($participants);
Конечно на момент 30 декабря 23:59 было немного меньше победителей и меньше участников, но пример мы приведём на текущем состояние:
Количество победителей: 47
Количество участников: 264
Проверяется у нас условие, которое возвращает false, так как 47 победителей не больше, чем участников, а участников 264. Соответственно данное выражение вернёт false и выполнит условие count($participants), что соответственно 264 победителю. Во всём виновата человеческая ошибка, а так же виноваты мы, что не все возможности проверили и обдумали в данном моменте. Но в тот день не выиграл лишь 1 человек т.к он был в РО и это Vikinger, на данный момент он вообще исключен из розыгрыша.
Ещё раз приносим свои извинения за данный инцидент, а так же мы сделаем ещё медальку для вас, что бы её получили все кто участвовал в розыгрыше и так же запустим более выгодные скидки, после окончания новогодних скидок, которые будут включать все группы пользователей, которые доступны на платном повышение.
 
kick я думаю, даже не стоило расписывать ошибку, никто не идеален, вас спасибо за создание этого проекта, из которого можно многое почерпнуть!
 
kick я думаю, даже не стоило расписывать ошибку, никто не идеален, вас спасибо за создание этого проекта, из которого можно многое почерпнуть!
И разве за это его можно не любить? Даже в условиях где никто ничего не должен - ошибка выкладывается на всеобщее обозрение и признаётся человеческий фактор в причинах этой самой ошибки.
 
И разве за это его можно не любить? Даже в условиях где никто ничего не должен - ошибка выкладывается на всеобщее обозрение и признаётся человеческий фактор в причинах этой самой ошибки.
Он признал свою ошибку, для меня было достаточно этого.
 
:D
Для человека, который занимается ботами по конкурсам, было неожиданно увидеть ноту о победе в розыгрыше) Насторожило сразу.
А, теперь всё на местах :D
Бывает.

Всех с наступающим.
 
Какая ошибка, это не ошибка, это новогодняя магия, чтобы каждый смог побывать в шкуре викинга и ощутить себя победителем хотя бы на короткий миг. Ведь если поразмыслить, попримерять масштабы времени, соотнести с разными событиями всё и всех, в какой-то момент покажется, что вся наша жизнь - короткий миг. Это короче победа всей жизни, а не ошибка, во как.

P.S.: вакансии штатного пропагандиста можно присылать почтовыми голубями, если Вам их совсем не жалко, конечно.
//off
Скрытое содержимое для пользователя(ей): Rolo
 
Так выиграл или не выиграл ? 😅 А так если произошел сбой, то можно всё аннулировать и переиграть заново 😁
 

Вложения

  • 2023-01-01_23-45-00.png
    2023-01-01_23-45-00.png
    5,2 КБ · Просмотры: 24
Ну в прошлом году все пахтало)) эх жалко)) ну кто победил поздравляю!!
 
Назад
Сверху Снизу