Skip to content

tainakanchu/mds-cli

Repository files navigation

MSD CLI

SlackからDiscordに移行するためのnode.js製のCLI
MSDは(Migrate from Slack to Discord)の略称

Warning
このCLIでは、Privateチャンネルの移行は基本的にできません
このCLIは簡易的に作られ、十分にテストされていません
将来的にSlackやDiscordのAPIの仕様変更によって、使用できなくなる可能性があります
動作の保証ができないので、利用する際は自己責任でお願いします

仕組みとしては、SlackのエクスポートデータをDiscordに出力できるデータに変換し、DiscordBot経由でチャンネルの作成とメッセージの出力を行うことで移行を実現します

%%{init:{'theme':'dark','themeCSS':" .node rect {fill:#fff;} label {font-size:20px; font-weight:bold; color:#000} .output {font-size:36px;} img {background-color:#fff; weight:50px; height:50px;}"}}%%
flowchart LR
  msd(<img src='./docs/img/msd.png' /><br><label>MSD CLI</label>)
  slack(<img src='./docs/img/slack.png' /><br><label>Slack</label>)
  discord(<img src='./docs/img/discord.png' /><br><label>Discord</label>)
  slackBot(<img src='./docs/img/slack-bot.png' /><br><label>SlackBot</label>)
  discordBot(<img src='./docs/img/discord-bot.png' /><br><label>DiscordBot</label>)
  exportFile(<img src='./docs/img/slack-file.png' /><br><label>Export File</label>)
  migrateFile(<img src='./docs/img/discord-file.png' /><br><label>Migrate File</label>)

  msd ---> |Migrate discord| discordBot
  discordBot <--> discord
  msd <--> |Check slack data| slackBot
  msd ---> |Convert slack data| migrateFile
  migrateFile --> |Get migrate data| msd
  slackBot <--> slack
  exportFile --> |Get slack data| msd
Loading

ドキュメント

使用方法

初回設定を完了後、下記のコマンドを順次実行して移行します

# 作業ディレクトリ初期化、移行用のSQLiteファイル作成を行う
npm run init

# チャンネルをデプロイする
npm run migrate:channel
npm run deploy:channel

# ユーザーの画像をホストするためのチャンネルをデプロイする
npm run migrate:user
npm run deploy:user

# メッセージをデプロイする
npm run migrate:message
npm run deploy:message

移行した内容を元に戻す場合は、下記のコマンドを実行することでリセットできます

npm run destroy
# or
npm run destroy:user
npm run destroy:message
npm run destroy:channel

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published