Устарел
Пожалуйста, рассмотрите другие альтернативы. Вы можете постоянно использовать его, но поддержка не будет предоставлена.

Использование TypeScript, Next.js 13, React 18 и Chakra UI 2.0
Видео: https://youtu.be/idmpjt5pzvk
Живая демонстрация: https://demo-bot.vercel.app
| Свет | Темный |
|---|---|
![]() | ![]() |
Как шаблон, вам нужно настроить несколько вещей, чтобы заставить его работать
Клонировать репо
git clone https://github.com/fuma_nama/discord-bot-dashboard-next.git
Установить зависимости
Мы всегда предпочитаем PNpm
| Npm | PNPM |
|---|---|
npm install | pnpm install |
Настройте файлы
Структура файла этого проекта
| Путь | Описание |
|---|---|
| src/pages/* | Все страницы |
| src/components/* | Компоненты |
| src/api/* | API Utils |
| src/config/* | Общие конфигурации |
Определите функции
Дискона имеет встроенную поддержку для настройки функций
Пользователи могут включить/отключить функции и настраивать функцию после включения ее
Настроить все типинги в src/config/types/custom-types.ts.
CustomFeatures используется для определения функций и параметров, см. Пример для получения более подробной информации
Откройте SRC/Config/Features
Вы можете увидеть, как настроена функция
'feature-id' : {
name : 'Feature name' ,
description : 'Description about this feature' ,
icon : < Icon as = { BsMusicNoteBeamed } /> , //give it a cool icon
useRender : ( data ) => {
//render the form
} ,
} Свойство useRender используется для отображения панели конфигурации функции
Взгляните на примеры
Настройте общую информацию
Измените src/config/common.tsx
Настройте переменные среды
Эти переменные в .env.example требуются
Вы можете определить переменные среды, создав файл .env
Настройка бэкэнд -сервера
Чтобы позволить инструментальной панели подключиться к вашим боту Discord, вам понадобится сервер Бэкэнд
Вы можете реализовать его на любых языках программирования
Прочитайте здесь для руководства по разработке собственного сервера
Сделанный!
Запустите приложение от pnpm run dev (зависит от вашего диспетчера пакетов)
Тогда вы должны увидеть, что приложение запустилось в порту 3000
Локализация | Формы
Мы используем маршруты API Next.js для обработки авторизации
Открытый портал разработчиков Discord
Создайте приложение OAuth2 в https://discord.com/developers/applications
В <Your Application> -> oauth2 -> перенаправления
Добавить <APP_URL>/api/auth/callback url в перенаправления
Например: http://localhost:3000/api/auth/callback
Это требуется для разрешения
Login -> Discord OAuth -> API Routes -> Client
/api/auth/login )/api/auth/callback Токен доступа доступа может быть истек или неавторизован пользователем
Мы потребуем, чтобы пользователь снова входил в систему после получения ошибки 401 от API Discord
Токен обновления не будет использоваться, но вы можете настроить поток авторизации
Проверьте SRC/API/BOT.TS, он определил встроенный API для получения данных
Вы можете использовать express.js (node.js), Rocket (ржавая) или любые библиотеки/языки для разработки собственного сервера
Обычно сервер работает вместе с вашим ботом для Discord (в той же программе)
Кроме того, вы можете использовать Redis, а не подключаться к серверу бот.
Node.js (TypeScript)
Клиент передаст свой токен доступа через заголовок Authorization
Bearer MY_TOKEN_1212112
Вы можете расширить его для большего количества функций
Get /guilds/{guild}
custom-types.ts > CustomGuildInfo )null , если бот не присоединился к гильдии Get /guilds/{guild}/features/{feature}
custom-types.ts > CustomFeatures[K] ) Патч /guilds/{guild}/features/{feature}
config/features ) Post /guilds/{guild}/features/{feature}
DELETE /guilds/{guild}/features/{feature}
Get /guilds/{guild}/roles
Get /guilds/{guild}/channels
Не стесняйтесь задавать вопрос, открыв проблему
Любите этот проект? Дайте этому репо звезду!