DiscordアカウントとXboxアカウントを紐づけるやつ
git clone git@github.com:NeiroNetwork/SyncDiscordXbox.gitcp 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