非推奨
他の選択肢を検討してください。継続的に使用できますが、サポートは提供されません。

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/types/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ルートを使用して、承認を処理しています
Open Discord開発者ポータル
https://discord.com/developers/applicationsでOAUTH2アプリケーションを作成します
in <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 (Rust)、またはライブラリ/言語を使用して、独自のサーバーを開発できます
通常、サーバーはあなたの不一致ボットと一緒に実行されます(同じプログラムで)
さらに、ボットサーバーに直接接続する代わりに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] )patch /guilds/{guild}/features/{feature}
config/featuresで定義)post /guilds/{guild}/features/{feature}
delete /guilds/{guild}/features/{feature}
get /guilds/{guild}/roles
get /guilds/{guild}/channels
問題を開いてお気軽に質問してください
このプロジェクトが好きですか?このレポを星にしてください!