AWSシンジSlackで使われている絵文字ランキングを作るツイートシェアはてブ送るPocketシンジです。cloudpackのSlackチームも使い始めてだいぶ経ちましたし、絵文字の利用も活発なので、実際のところどんな絵文字がよく使われているのか気になりました。いうわけでランキングの作成です。結果こんなかんじですどうやるかちょっとハードルが高い部分もあるので、要確認です。1.Slackのメッセージエクスポート機能で、過去のメッセージ全てをダウンロードする(管理画面にしかないのでAdmin権限以上が必須)2.ダウンロードしたファイルから絵文字部分を抽出してカウントする3.サンシャイン池崎Slackからメッセージをダウンロードする下記URLにAdmin権限以上でアクセスします。Datahttps://slack.com/services/exportで、Startボタンぽちー。ここでダウンロードできるメッセージは、Adminのあなたがアクセスできるメッセージの全てをダウンロードできます。あなたがアクセスできない他人のダイレクトメッセージや、あなたの参加していないプライベートチャンネルはダウンロードされません。結果的には、絵文字の集計にはこれらのアクセスできないチャンネルは含まれない形となります。そこも厳密に取らせろという猛者がおられるのであれば、Owner権限でコンプライアンスエキスポートをすることで、真の意味での全メッセージをダウンロードできますが(しかも結構面倒)、プライバシーの問題もあるので慎重にどうぞ。処理にしばらく時間がかかります10分くらいです。Slack-botで通知が来ますので、しれっと待ちましょう。ZIPで落ちてきます。ダウンロードしたファイル、解凍してみましょうかチャンネルごとのディレクトリ、大量のJSONファイルを確認できましたか?JSONの中身を見てみて下さい。空前絶後のJSONです。人間が読むファイルではありません。いうわけでプログラム的に処理してやります。今回はJavaScriptでファイル名は何でもいいです。slack-emoji-ikezaki.jsとかでいいです。下のコードはググりまくってどっかのWebから拾ってきたのですが、もはや記憶障害でどこから拾ったのか覚えていないのでそこはもう勘弁して下さい。${count[emoji]}`));[/js]Slackのログデータのフォルダ名をexportに変えておきますexportフォルダと同じ場所にikezaki.jsをおいて下さい。JavaScriptなのでWinでもMacでもLinuxでも動きますが結果的には今回のログデータがでかすぎて、メモリ35GBは食うし、CPU唸るので、手元のマシンじゃピャーだったのでAWSでAmazonLinuxをGOしました。インスタンスは、とりあえず一番いいやつ(ぇnode使いたかったので、AmazonLinuxに環境を用意します。~/.nvm/nvm.sh[/bash]次にnode.jsをぶち込みます。最新バージョンはどれかにゃ?ってことで調べます。ls-remote[/bash]先日7.6.0がリリースされたので、早速インストールです。v7.6.0[/bash]実行環境は楽勝で構築完了。Slackのログデータもろもろをscpなりで転送してください。ZIPはunzipで解凍です。実行ですが、実行結果の出力も明示的に書いてやります。sekaiheiwa.log[/bash]そうするとこんな感じのログファイルが30分くらいかかって作成されます。鬼インスタンス使って30分もかかるとか。Spreadsheetで見た目だけ整えました。コメントをキャンセルメールアドレスが公開されることはありません。コメント名前メールアドレスサイト同業他社から標的型攻撃を受けたが見事に処理シンジ、車を買う。RECOMMENDこちらの記事も人気です。