Нужно написать большого бота для проекта

Требуется написать бота для Discord сервера. Полное ТЗ ниже. Сроки - от 10 до 14 дней.

  1. Начало:
  • Регистрация:
  • У каждого аккаунта в Бравл Старсе есть свой уникальный тэг, айди аккаунта, с помощью него можно отслеживать всю статистику, включая последние бои игрока, и их результаты с подробной информацией на сайте “Brawl Stats”, или “brawl stars api”.
  • При регистрации можно ввести реферальный промокод, когда участник регистрируется бот присылает ему его уникальный промокод из 6 случайных латинских букв и цифр.
  • Пополнение баланса:
  • Ну тут понятно
  • При введении промокода, ему дается 15% бонус на первое пополнение и 5% на все следующие, если он продолжает использовать чей либо промокод
  • Тому чей промокод он использует, приходит 15% с каждого его пополнения, пока он использует промокод. (Должна быть возможность просматривать свой реферальный баланс, сколько людей использует твой промокод, смотреть свой персональный промокод, менять промокод)
  • Подписки:
  • Есть одна кнопка
  • Потом появляется панелька с двумя кнопками (обычная подписка и VIP подписка)
  • И челик может выбрать и купить:
  • На 1 месяц (219₽), 3 месяца (419₽), навсегда (1199₽).
  • Если он покупает VIP, то он может купить только на 1 месяц (249₽).
  1. Система Игр:
  • Матч Мейкинг в ДС:
  • Игроки заходят в голосовой канал, например, “подбор/очередь”
  • Есть роли ЛВЛ 1-10
  • Ранжировка: такие то лвла могут попадаться только с такими то
    1 лвл: может играть только с 1-3 лвлами
    2 лвл: 1-4
    3 лвл: 1-5
    4 лвл: 2-6
    5 лвл: 3-7
    6 лвл: 4-8
    7 лвл: 5-9
    8 лвл: 6-10
    9 лвл: 7-10
    10 лвл: 8-10
  • Бот подбирает 6 игроков, закидывает их в лобби.
  • Создается команда /start:
  • “эта команда создает вебхук и кнопку чекина”
  • Игроки прожимают чекин
  • Создается Вебхук и бот выбирает двух капитанов с Наивысшим ЭЛО
  • Капитаны выбирают игроков:
  • Кэп команды 1, пикает(выбирает) 1 игрока
  • Кэп команды 2, пикает 2х игроков
  • и Кэпу команды 1 автоматически достается оставшийся игрок.
  • Капитаны выбирают режимы и карты:
  • Кэп команды 1, выбирает первый режим и карту
  • Кэп команды 2, выбирает второй режим и карту
  • 3 режим и карта выбирается ботом на рандом.
  • Игроков перекидывает по войсам “Команда 1” и “Команда 2”
  • Кэп команды 1 должен скинуть ссылку в дружескую игру
  • Матч начинается.
  • Результаты Матча:
  • Бот автоматически проверяет каждые 5 сек. результаты режима через сайт “Brawl Stats” или “brawl stars api”.
  • Результаты скидываются картинкой в чат лобби и в канал результаты.
  1. Система Калибровки:
  • Всем новорегам выдается по 1000 ЭЛО и роль “NotCalibred”
  • По итогам 10 матчей калибровки к 1000 эло прибавляется еще от 0 до 600 эло
  • За 1 победный матч дается 60 эло, за 1 поражение ничего не дается и не снимается.
  • Игроки смогут увидеть своё ЭЛО только после прохождения калибровки.
  • До прохождения им пишется сколько они сыграли матчей из 10
  1. Система ЭЛО:
  • Система ЛВЛов:
    0-600 1 LVL
    601-900 2 LVL
    901-1200 3 LVL
    1201-1500 4 LVL
    1501-1800 5 LVL
    1801-2100 6 LVL
    2101-2400 7 LVL
    2401-2700 8 LVL
    2701-3000 9 LVL
    3001+ 10 LVL

  • Выдача очков ЭЛО:
    за победу (W-Win): +25 ELO;
    за проигрыш (L-Lose): -25 ELO

  • Система баланса:

  • Сделать баланс между командами (если разброс по ЭЛО слишком большой в 400-800 ЭЛО),
    в одной команде много “слабых” игроков с маленьким ЭЛО, а в другой команде “сильные” игроки с высокими ЭЛО;

  • Если разрыв команд по ЭЛО в 400 очков:

  • То команде с общим Маленьким ЭЛО:

  • Если проиграют (L): к -25, +1 эло

  • Если победят (W): к +25, +1 эло

  • А команде с общим Высоким ЭЛО:

  • При L: к -25, -1 эло

  • При W: к +25, -1 эло

  • Если разрыв в 600 эло:

  • То команде с общим Маленьким ЭЛО:

  • При L: к -25, +2 эло

  • При W: к +25, +2 эло

  • А команде с общим Высоким ЭЛО:

  • При L: к -25, -2 эло

  • При W: к +25, -2 эло

  • Если разрыв в 800 эло и больше:

  • То команде с общим Маленьким ЭЛО:

  • При L: к -25, +3 эло

  • При W: к +25, +3 эло

  • А команде с общим Высоким ЭЛО:

  • При L: к -25, -3 эло

  • При W: к +25, -3 эло

  • Звездный Игрок:

  • За MVP +2 эло

  1. Второстепенное:
  • Список лидеров по ЭЛО (/top) это выводится красиво картинкой;
  • Профиль (/profile): это выводится красиво картинкой;
  • Это игровая статистика:
  • Wins, Matches, K/D, Winrate %, на каком месте в списке лидеров (Global Rank or Place), ELO, LVL, DPS, Tag in Brawl Stars, nick name.
  • Для игроков с ВИП подпиской, картинка профиля покрасивее и баланс и другие тоже.
  • Баланс (/balance) это выводится красиво картинкой;
  • Инвентарь (/inventory): это выводится красиво картинкой;
  • Использовать предмет, продать предмет, передать предмет.
  • Менять тег (/change tag)
  • Для админов:
  • Пополнение баланса
  • Забирать деньги
  • Изменение Тега участника
  • Выдача ЭЛО
  • Забрать ЭЛО
  • Создание промокодов на пополнение баланса
  • Команда на добавление дней вип и обычной подписки
  • Выдавать безлимитную подписку через команду
  • Создавать промокод который выдавал бы безлимитную подписку
  • Возможность забирать безлимитную подписку и аннулировать её
  • Смотреть список всех промокодов
  • Добавление любых предметов сервера в инвентарь участников
  • Добавлять и снимать победы, поражения и количество матчей
  • Возможность изменить любому участнику его реферальный промокод
  • Команды для модерации:
  • Изменение тэга участникам
  • Выдача эло и забрать эло
  • Добавлять и снимать победы, поражения и количество матчей
  • Баннер:
  • Чтобы в баннере показывалось количество участников в войсе.
  1. Система Кейсов:
  • Если игрок выбил, например, эмодзи паутинку, то оно не может больше никому выпасть. Это относится ко всем эмодзи, все эмодзи могут быть только в одном экземпляре, лимитед эдишн, они не могут выпасть дважды.

  • Кейс (9₽):

  • Скидка на 10% на подписку в виде промокода - (шанс выпадения 25%)

  • Мешок с деньгами (от 1 до 30₽ рандомно) (Сделать не выпадения конкретной суммы, а выпадения «Мешка с деньгами» которые появился бы в инвентаре после открытия кейса, а потом уже игрок может через инвентарь открыть этот мешок с деньгами) - (шанс 15%)

  • Подписка на сервер (1 месяц) если у человека безлимит на подписку, бот выдает ему в виде промика, но только так, чтобы это не видели другие участники! - (шанс 1%)

  • Ничего - (шанс 59%)

  • Биг кейс (29₽):

  • Скидка 50% на подписку на месяц - (шанс 15%)

  • Скидка 30% на VIP подписку - (шанс 15%)

  • Мешок с деньгами (15-50₽) - (шанс 15%)

  • Подписка на 1 месяц - (шанс 8%)

  • Подписка на 3 месяца - (шанс 1,9%)

  • Набор рандомных эмодзи (3 штуки в наборе) (шанс 0,1%)

  • Ничего - (шанс 45%)

  • Мега кейс (79₽)

  • Скидка 50% на подписку на месяц - (27,5%)

  • Подписка на 1 месяц - (20%)

  • Вип подписка на 1 месяц - (15%)

  • Скидка 75% на Вип подписку на месяц - (20%)

  • Мешок с деньгами (20-140₽) - (15%)

  • Набор рандомных эмодзи (3 штуки в наборе) - (1,5%):

  • Рандомный эмодзи выпадает в виде набора из 3 штук, то есть если он выпадает участнику, он отправляется в инвентарь участнику, и тот, если открывает его, может выбрать эмодзи 1 из 3 штук, но если участник не выбирает в течении там, ну какого-то времени, часа, то бот выбирает рандомно.

  • Любой 1 эмодзи на выбор - (1%)

  • При открытии кейса приз дублируется в отдельный канал “призы”, и пишется кому выпало.
    Также предлагаем дальнейшее сотрудничество с нами за процент от дохода проекта.Нужно будет обновлять бота, добавлять новые функции, поддерживать его состояние и фиксить ошибки.

Сомнительно. Вы не можете этого знать, потому что не приаттачили план работ.

Типовые сроки закрытия вакансии - 2 месяца.
«По разным источникам, показатель Time to Offer в мире составляет 40–60 календарных дней. Причем он может колебаться от 4–12 дней до 90 дней.»
https://www.hr-director.ru/article/67830-kak-rasschitat-srok-zakrytiya-vakansii

Это только то время, которое вы потратите на поиск исполнителя.