弃用
请考虑其他选择。您可以不断使用它,但不会提供任何支持。

使用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/组件/* | 成分 |
| src/api/* | API UTILS |
| src/config/* | 常见配置 |
定义功能
仪表板具有用于配置功能的内置支持
用户能够启用/禁用功能并在启用该功能后配置该功能
在src/config/type/custom-types.ts中自定义所有打字CustomFeatures用于定义功能和选项,请参见示例以获取更多详细信息
打开src/config/功能
您可以看到如何配置功能
'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中启动
本地化|表格
我们正在使用Next.js的API路由来处理授权
开放不和谐开发人员门户网站
在https://discord.com/developers/applications中创建您的OAuth2应用程序
在<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用户可能会过期或未经授权,不访问令牌
我们将要求用户在从Discord API中获得401错误后再次登录
不使用刷新令牌,但是您可以自定义授权流
检查src/api/bot.ts,它定义了用于获取数据的内置API
您可以使用express.js (node.js), Rocket (锈)或任何库/语言来开发自己的服务器
通常,服务器与您的Discord Bot一起运行(在同一程序中)
此外,您可以使用redis而不是直接连接到机器人服务器
node.js(typescript)
客户将通过Authorization标头传递其访问令牌
Bearer MY_TOKEN_1212112
您可以将其扩展以获取更多功能
获取/guilds/{guild}
custom-types.ts > CustomGuildInfo )null ,如果Bot没有加入公会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}
获取/guilds/{guild}/roles
获取/guilds/{guild}/channels
通过打开问题随意提出问题
喜欢这个项目吗?给这个仓库一个明星!