Нужно написать бота дискорд

4 000 руб. за проект
21 июня 2023, 14:40 • 9 откликов • 73 просмотра
Нужно написать бота для сервера дискорд
Тематика: Бот для розыгрышей призов
ТЗ приложу ниже в формате pdf (внутри есть формат txt, rtf) либо здесь
В откликах, пожалуйста, обязательно указывайте сроки, деньги

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

ТЗ:

1. Сперва необходимо создать команды для управлением ботом
(веб версия или же команды в самой переписке с ботом)
1) /event "название розыгрыша" "условия" "приз" "время в часах" "количество победителей" "количество участников для начала розыгрыша» «сам приз"
Если ввести просто /event тогда бот должен сам запросить данные, т.е он должен запросить условия, а создатель розыгрыша должен написать их боту. Под каждое условие отдельное сообщение ботом.

Бот: Укажите название розыгрыша
Админ: Розыгрыш валюты (enter)
Бот: Укажите условия розыгрыша
Админ: 15 (enter)

Бот: Укажите название приза
Админ: 300 игровой валюты (enter)

Бот: Укажите время отведенное время на конкурс
Админ: 24 (enter)

Бот: Укажите число победителей
Админ: 1 (enter)

Бот: Укажите число участников для запуска розыгрыша
Админ: 10 (enter)
Бот: Введите приз
Админ: jJa898Jcjau8 (enter)
Бот: Укажите текст чтобы уведомить игроков о начала розыгрыша либо нажмите - для отправки автоматического сообщения
Админ: Розыгрыш на 300 игровой валюты начался. Для участия вам нужно пригласить 15 игроков на сервер по вашей реф. ссылке и поставить реакцию под этим сообщением
Бот: Начать розыгрыш?
Админа: Да (enter)
Бот: Розыгрыш начался!

Если вместо приза указать знак - тогда бот автоматически берет любой рандомный код с списка призов и выдает его победителю. Нужно добавить какую-то БД или другое место куда можно загрузить сразу много кодов(призы) для победителей.

После начала розыгрыша бот должен написать в общий чат либо выбранный указанное сообщения для розыгрыша либо автоматическое если оно не было задано сразу, т.е если был поставлен знак -
Если был поставлен знак - тогда бот пишет автоматическое сообщение

/all Розыгрыш «приз» (то есть бот должен взять название розыгрыша, которое установил админ» начался. Для участия вам нужно пригласить на сервер N-количество людей (количество бот берет с информации, которую указал админ) и поставить галочку (реакцию) под этим сообщением.
Должно выглядеть так:

/all Розыгрыш 300 игровой валюты начался! Для участия вам нужно пригласить на сервер N-количество людей и поставить галочку (реакцию) под этим сообщением.

(Нужно добавить функцию изменения чата для бота, чтобы можно было выбрать чат на выбор в котором бот будет писать сообщения)

[В поле «количество участников для начала розыгрыша» должно быть указано нужное количество людей приглашенных на сервер для участия в розыгрыше, т.е для участия участник должен пригласить N - количество людей на сервер.

Можно указать от 0 до 100 человек.] Название розыгрыша, условия, приз, бот должен уметь принимать как на кириллице так и на латинице. (0 - участвует любой желающий без нужного количества приглашенных на сервер)
2) /stop - немедленно остановить розыгрыш и обнулить все результаты. ( количество приглашенных людей на сервер от участника должно навсегда закрепиться за ним )
3) /show ник или id - показать сколько людей человек пригласил на сервер и количество побед в розыгрыше.
4) /show - показать сколько людей ты пригласил на сервер за всё время
[Должно высветить два пункта:
[Вы пригласили на сервер N - количество людей.
[Для участия в конкурсе вы должны пригласить N - количество людей]
5) /reload all - обнулить количество приглашенных людей для всех участников сервера (только для участия в конкурсе. Информация о приглашенных в самом боте по команде /show не должно пропадать)
6) /reload ник или ид - обнулить количество приглашенных людей для у конкретного пользователя (только для участия в конкурсе. Информация о приглашенных в самом боте по команде /show не должно пропадать
7) /reload full ник или ид - обнулить количество приглашенных людей для конкретного пользователя по всей БД. Нигде не должно показывать кого он когда-то приглашал.
8) Если игрока кикают или банят на сервере тогда бот должен реагировать на любую команду, которую вводит человек так: "Вы больше не участник сервера (название_сервера)"
9) /say сообщение - написать сообщение в чате от имени бота
10) /help показать доступные команды в боте (обычным участникам сервера не должно показывать команды участников с правами администратора(т.е люди с командой /op)
11) /admin показать владельца сервера
12) /autoevent "название розыгрыша" "условия" "название приза" "время в часах" "количество победителей""количество участников для начала розыгрыша" "Сам приз" - бот начинает автоматический розыгрыш каждый день в 00:00 и до следующего дня 00:00, т.е каждые 24 часа.
13) /autostop - Бот останавливает автоматические розыгрыши, которые были указаны командой /autoevent
14) Нужно добавить в БД или куда-то еще текстовик, в котором будут храниться коды для победителей. По 1 коду для 1 победителя
15) /winner ник - указать победителя принудительно избегая все результаты конкурса и нужное количество приглашенных людей (розыгрыш должен автоматически завершится после ввода этой команды)
16) /vote - начать голосование на сервере
Пример:
Бот: Укажите описание голосования
Админ: Сделать сегодня два розыгрыша? (enter)
Бот: Укажите варианты ответов через запятую
Админ: Да, нет, возможно, точно нет (enter)
Бот: Начать голосование?
Админ: Да (enter)
Бот: Голосование началось
После этого в канале бот должен написать сообщение «/all Сделать сегодня два розыгрыша? (Кнопка) Да, (Кнопка) Нет, (Кнопка) Возможно, (Кнопка) точно нет.
17) /victorina - начать викторину с призом (коды с призом должны быть в отдельном месте от кодов с евентов (розыгрышами)
Бот: Укажите вопрос
Админ: Сколько часов в сутках?
Бот: Укажите правильный ответ
Админ: 24
Бот: Укажите приз
Админ: 0a0_98JAJ57 (либо «-« для выбора рандомного приза из списка)
Бот: Запустить викторину?
Админ: Да
Бот: Викторина началась
После этого в канале бот должен написать сообщение «/all Началась викторина! Сколько часов в сутках?

Человек который первый напишет правильный вариант ответа в чат в формате, который указан после запроса бота «Укажите правильный ответ» становится победителем.
После победы бот должен написать в чат /all Победитель викторины «ник» Приз будет немедленно доставлен к вам в личные сообщения»
После этого бот отправляет этот текст победителю в личные сообщения
«Поздравляем! Вы победили в викторине
Ваш приз: 0a0_98JAJ57

После начала розыгрыша /event "название розыгрыша" "условия" "название приза" "время в часах" "количество победителей""количество участников для начала розыгрыша" "Сам приз"
Пример: /event "Розыгрыш 60 UC" "2" "300 игровой валюты" "24" "1" "10" "jJa898Jcjau8"
Где :
"Розыгрыш 60 UC" - название розыгрыша
"2" - нужное количество приглашенных людей на сервер для участия в конкурсе
"300 игровой валюты" - что будет разыграно
"24" - 24 часа на конкурс, после окончания этого времени бот выберет рандомно победителя иуведомит всех участников через чат сервер. Затем бот сразу жеотправит приз победителю в личные сообщения"
"1" - количество победителей. Каждому победителю бот должен отправлять разный приз. Это всегда будут коды на пополнение валюты.
"10" - количество требуемых участников для начала розыгрыша
"jJa898Jcjau8" - Приз, который бот отправляет победителю

2. Добавить функцию выдачи админки в боте [доступ можно выдать через ид в самом кода бота или команду /op ник или ид] Снять доступ /unop ник или ид
По истечению указанного срока конкурса бот автоматические рандомно выбирает победителя и отправляем уведомления в чат канала и личные сообщения.
Так же бот отправляет сообщение в выбранный чат всем пользователям /all «Поздравляем! ник - победил в конкурсе (название). Приз будет немедленно доставлен к вам в личные сообщения»
После этого бот отправляет этот текст победителю в личные сообщения
«Поздравляем! Вы победили в конкурсе
Ваш приз: jJa898Jcjau8





Файлы