DiscordアカウントとXboxアカウントを紐づけるやつ
git clone git@github.com:NeiroNetwork/SyncDiscordXbox.git
cp sample.env .env
chmod o-r .env
本番環境用にフラグを追加しています
composer install --no-dev --prefer-dist --classmap-authoritative
データベースの設定について も参照
php scripts/database.php
下に記載されているアプリケーションやボットのセットアップが済んだら、nginxなどのソフトウェアで public/
以下を公開します。
- https://go.microsoft.com/fwlink/?linkid=2083908 にアクセス
- "新規登録" をクリック
- アプリケーションの登録を行う
- 名前を入力する
- サポートされているアカウントの種類は "個人用 Microsoft アカウントのみ" を選択
- プラットフォームは "Web" を選択し、リダイレクト URI を入力する
- "証明書とシークレット" タブをクリック
- "新しいクライアント シークレット" をクリックしてクライアントシークレットを作成する
- 説明は入力しなくても良い、期間は自由に設定する
- 生成された値をコピーしておく
- 以下の値を
.env
ファイルに記入する- アプリケーション(クライアント)ID:
XBL_CLIENT_ID
- クライアントシークレット:
XBL_CLIENT_SECRET
- リダイレクトURI:
XBL_REDIRECT_URI
- アプリケーション(クライアント)ID:
- https://discord.com/developers/applications にアクセス
- "New Application" をクリック、名前を入力してアプリケーションを作成する
- OAuth2 タブ → General に移動する
- "Reset Secret" をクリックしてクライアントシークレットを再生成
- クライアントシークレットはコピーしておく
- "Add Redirect" をクリックしてリダイレクトURIを追加
- 以下の値を
.env
ファイルに記入する- CLIENT ID (APPLICATION ID):
DISCORD_CLIENT_ID
- CLIENT SECRET:
DISCORD_CLIENT_SECRET
- (Redirects) URI:
DISCORD_REDIRECT_URI
- CLIENT ID (APPLICATION ID):
サーバーでロールを付与するためのボットを作成する
- Bot タブ → "Add Bot" をクリックしてボットを作成
- PUBLIC BOT (誰でもボットをサーバーに追加できる) はOFFにしておく
- サーバーのメンバー更新通知に "SERVER MEMBERS INTENT" が必要なのでONにしておく
- "Reset Token" をクリックしてトークンを再生成する
- 生成されたトークンはコピーしておく
- https://discord.com/api/oauth2/authorize?client_id=0000000000000000000&permissions=402653184&scope=bot でボットをサーバーに参加させる
- ボットのロールがメンバーのロールより高くなっている必要がある
- オーナー又は上位のロールが付与されたユーザーのニックネームは編集できない (https://stackoverflow.com/q/45251598)
- ロールの管理者権限は関係なく、あくまでもロールの順位に依存する
データベースにはMySQLまたはSQLite3を使用します。
.env
のそれぞれの値を編集します。
DB_DRIVER=mysql
: ドライバーにMySQLを使用しますDB_HOST
: データベースのホストアドレスDB_DATABASE
: データベースの名前DB_USERNAME
: データベースにアクセスするためのユーザー名DB_PASSWORD
: ユーザーのパスワード
.env
のそれぞれの値を編集します。
DB_DRIVER=sqlite
: ドライバーにSQLite3を使用しますDB_DATABASE
: データベースのファイルパス (バグを防ぐためフルパスを指定することをお勧めします。) データベースファイルが存在しない場合は、ファイルを作成します(コマンドは例です)。
touch database.sqlite
# データベースの作成
php scripts/database.php up
# データベースの削除
php scripts/database.php down
ウェブフックURL: https://example.com/webhook/identification.php?key=WEBHOOK_RANDOMの値
と設定する
ポートは8080
から好きなポートに変更可能です。
- 各種アプリケーションのリダイレクトURIに
http://localhost:8080
を追加 .env
のリダイレクトURIもhttp://localhost:8080
に設定- テストサーバーを起動する
php -S localhost:8080 -t public
.env
ファイルを書き込み、コマンドを実行します。
php bot/RoleGiver.php