Skip to content

Latest commit

 

History

History
73 lines (51 loc) · 4.71 KB

File metadata and controls

73 lines (51 loc) · 4.71 KB

初回設定

下記の初回設定を順番に進めてください
下記の設定は移行元のSlackのワークスペース、移行先のDiscordのサーバーがあることが前提です

  1. direnvのインストール
  2. Voltaのインストール
  3. DiscordBotの作成
  4. SlackBotの作成
  5. Slackのデータのエクスポート
  6. 環境変数の設定
  7. 実行環境の設定

direnvのインストール

Node.jsのOpenSSLのバージョンアップに伴い、まだ動かないライブラリがあるため、OpenSSL3をレガシープロパイダーに戻す環境変数のオプションを有効にさせる必要がある
公式サイトのインストールガイドに沿って、direnvのインストールを行い、下記コマンドを実行することで、プロジェクトのディレクトリを開いた際に環境変数を自動有効化するようにする

direnv allow

Voltaのインストール

Node.jsのバージョン管理のため、公式サイトのスタートガイドに沿ってVoltaをインストールする

DiscordBotの作成

  1. DiscordのDeveloper Portalのページで、「公式サイトのスタートガイド」などの記事を参考に任意の名前のBotを作成
  2. Public Botのチェックを外し、DiscordBotを公開にしておく
  3. OAuth2 > URL GeneratorでSCOPESの項目では「Bot」を、Bot Permissionsの項目では「Send Messages」、「Manage Channels」、「Manage Messages」にチェックを入れる
  4. GENERATED URLの項目で生成されたURLを開いて、移行先のDiscordサーバーにDiscordBotを追加する
  5. Bot > Build A Botの項目からDiscordBotのトークンを控えておく
  6. Discordのアプリで、DiscordのサーバーIDを表示させるために、Discordのアプリの設定 > 詳細設定で開発者モードを有効化にする
  7. Discordのアプリで、サーバーを右クリックで表示される「IDをコピー」の項目をクリックしてDiscordのサーバーIDを控えておく

SlackBotの作成

  1. Your Appsのページで、「公式サイトのヘルプガイド」などの記事を参考に任意の名前のSlackBotを作成
  2. Features > OAuth & Permissions > ScopesでBot Token Scopesの項目に「users:read」を追加する
  3. Install Appで移行元のワークスペースにSlackBotを追加する
  4. Bot User OAuth Tokenの項目にあるSlackBotのトークンを控えておく

Slackのデータのエクスポート

  1. Slackのデータのエクスポートのページで、「ワークスペースのデータをエクスポートする」などの記事を参考に、ワークスペースのオーナー権限でSlackのデータをエクスポートし、zipファイルをダウンロードする
  2. zipファイルを解凍し、解凍したフォルダを「.src」にリネームしてこのリポジトリのトップに配置する

環境変数の設定

下記のコマンドで、環境変数の設定ファイル.envを作成する

cp .env.sample .env

.envファイルの環境変数の値に、SlackBotのトークン、DiscordBotのトークン、DiscordのサーバーIDなどの情報を設定する

export SLACK_BOT_TOKEN="" # SlackBotのトークン
export DISCORD_BOT_TOKEN="" # DiscordBotのトークン
export DISCORD_SERVER_ID="" # DiscordのサーバーID

実行環境の設定

下記のコマンドで、VoltaでNode.jsとnpmをインストールする

volta install node@18.7.0 npm@8.15.1

npm install