Chatwork
Slack

ChatWork から Slack へ移行するときに 過去ログもそれっぽく移行した話

More than 1 year has passed since last update.


goodbye_chatwork

ChatWork のログは,(通常は)エクスポートできない.

なので,swdyh/goodbye_chatworkを使って抽出する.

参考: チャットワークのチャットログと添付ファイルをまるっとダウンロード : swdyh


cw2slack

この記事の本題.

ChatWork の記法は,

[info][title][dtext:file_uploaded][/title][download:610XXX36]iOSガイドライン.pptx (1.18 MB)[/download][/info]

[qt][qtmeta aid=87XXX9 time=144963XXX1]最後のページに、気づき、わからなかったこと、考察などをまとめる(スライドで読めない文字サイズレベルでも OK 共有したときに読めればよい)

ってあるけど皆さんなにか書くことありますか[/qt]

って感じで,見づらい.

適当に整形してやる必要がある.

適当に整形するプログラムを 3846masa/cw2slack にあげた.

これを使うと,

ちょっとはマシになる :tada:

引用だけは見栄えが悪いが,それ以外はそれなりに移植できているはず.

雑なコードのままなので,他の環境で動く保証はあまりないが是非.

(正直,使い捨てのコードなので.... 移行作業って何度もやらないし)


実装

ChatWork 記法は,BBCode に似ているので BBCode のパーサを使う.

https://www.npmjs.com/package/bbcode-parser

変換後は,HTML形式になってしまうので元に戻す.

[download:610XXX36][/download]みたいなのは,パースできない.

なので,あらかじめ[download attr="610XXX36"][/download]のようにしておく.

閉じタグのない ChatWork 記法は,正規表現で適当に置換する.

絵文字も適当に置換する.

ちなみに,Slack の CSV インポートでは,Slack 記法で入れるとちゃんと適応される.

<@3846masa> とか書くと,ちゃんとリプライになる.


おわりに

今までありがとう,ChatWork