Бот для Discord сервера, более 1000 строк

10 000 руб. за проект
17 июня 2023, 13:35 • 14 откликов • 166 просмотров
Требуется написать бота для Discord сервера. Полное ТЗ ниже. Сроки - от 10 до 14 дней.
1) Начало:
- Регистрация:
- У каждого аккаунта в Бравл Старсе есть свой уникальный тэг, айди аккаунта, с помощью него можно отслеживать всю статистику, включая последние бои игрока, и их результаты с подробной информацией на сайте "Brawl Stats", или "brawl stars api".
- При регистрации можно ввести реферальный промокод, когда участник регистрируется бот присылает ему его уникальный промокод из 6 случайных латинских букв и цифр.
- Пополнение баланса:
- Ну тут понятно
- При введении промокода, ему дается 15% бонус на первое пополнение и 5% на все следующие, если он продолжает использовать чей либо промокод
- Тому чей промокод он использует, приходит 15% с каждого его пополнения, пока он использует промокод. (Должна быть возможность просматривать свой реферальный баланс, сколько людей использует твой промокод, смотреть свой персональный промокод, менять промокод)
- Подписки:
- Есть одна кнопка
- Потом появляется панелька с двумя кнопками (обычная подписка и VIP подписка)
- И челик может выбрать и купить:
- На 1 месяц (219₽), 3 месяца (419₽), навсегда (1199₽).
- Если он покупает VIP, то он может купить только на 1 месяц (249₽).

2) Система Игр:
- Матч Мейкинг в ДС:
- Игроки заходят в голосовой канал, например, "подбор/очередь"
- Есть роли ЛВЛ 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".
- Результаты скидываются картинкой в чат лобби и в канал результаты.

3) Система Калибровки:
- Всем новорегам выдается по 1000 ЭЛО и роль "NotCalibred"
- По итогам 10 матчей калибровки к 1000 эло прибавляется еще от 0 до 600 эло
- За 1 победный матч дается 60 эло, за 1 поражение ничего не дается и не снимается.
- Игроки смогут увидеть своё ЭЛО только после прохождения калибровки.
- До прохождения им пишется сколько они сыграли матчей из 10

4) Система ЭЛО:
- Система ЛВЛов:
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 эло

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

6) Система Кейсов:
- Если игрок выбил, например, эмодзи паутинку, то оно не может больше никому выпасть. Это относится ко всем эмодзи, все эмодзи могут быть только в одном экземпляре, лимитед эдишн, они не могут выпасть дважды.
- Кейс (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%)
- При открытии кейса приз дублируется в отдельный канал "призы", и пишется кому выпало.