LoginSignup
20
20

More than 5 years have passed since last update.

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

Last updated at Posted at 2016-09-12

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

20
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
20