2022/08/29追記
dicordに送信できる最大文字数 < slackに送信できる最大文字数
みたいなので、slack側の文字数が多い場合には分割して送るようにしました。
先月に↓の記事を投稿したのですが、
我ながら使いづらいなと思ったのと、思ったよりも使っている人がいて、わかりずらそうだったので、なんかもっとイケてる感じにしたいなと思いました。
で、「これ最初からdiscord側のbotにしちゃえばいいんじゃね?」と思い立ち、そうすることにしました。
botは以下からサーバーに追加することができます。
雑な使い方
例のごとく雑に使い方を書いておきます。
slackのデータをエクスポートする
以下を参考に、エクスポートします。
Slackのデータをエクスポートすると、何種類かファイルがエクスポートされます。
その中で必要になるのは、users.json
ファイルと各種チャンネルのjsonファイルになります。
リンクをクリックして、discordのサーバーにbotを追加する
移行したいslackのチャンネルと同じ名前のチャンネルをdiscordに作る
同じじゃなくてもいいですが、合わせておいたほうがわかりやすいとは思います。
移行を行いたいチャンネルに移動し、botにメンションを当ててファイルをアップロードする
移行を行いたいチャンネルにて、以下のように、slackからエクスポートされたファイルの中で、users.json
ファイルと移行するチャンネルのjsonファイルをアップロードします。
@slack-message-transfer-bot
へのメンションをするのを忘れないようにしてください。
しばらくすると徐々にメッセージがそのチャンネルに流れてくるはずです。
※多分ファイルのアップロードの上限とかあると思いますが、そこらへんよくわかってないです。もし無理っぽかったら小分けにしてアップロードしてください。
※zipファイルのままアップロードしてもうごかないです。
使用技術など
以下のリポジトリで開発しています。
typescriptを導入したexpressで作っています。
botはrender.comで無料ホスティングしております。
無料プランなので本当はすぐ寝ちゃうのですが、GASを使って定期的に叩き起こすようにしています。
補足など
Discordのbotは、100個のサーバーに導入されると検証を受けないといけなくなっちゃうらしいので、もし使い終わったらbotはサーバーからキックしていただいたほうが助かります。
また、できるだけ使えるようにメンテはするつもりですが、普通に後回しにしたりすると思うので使えなくてもあしからず。
あと、今回のは一応サーバーを経由するのですが、送られてきた記事の中身は見れるようになっていないのでご安心ください。
Githubの実装の通りでデプロイされています。
もしそこらへん気になる方は、前回書いた記事の方を参照していただいた方が良いかと思います。
あっちはローカルで全部完結するものを作っているので。
感想
render.comってherokuの後継みたいに言われてますが、本当にそんな感じで使い勝手いいですね!こういうbotとか作るのに最適だと思いました。