LoginSignup
10
5

More than 5 years have passed since last update.

Slack EmojiをまとめてexportするスクリプトをNode.jsで書いて、Chrome Extensionでまとめてimportする

Last updated at Posted at 2018-07-08

もう腐るほどやり方はネットに落ちている、Slack Emojiのexport&importネタです。
例えば新しいSlack Workspaceを作成したときなどに、その他に参加しているSlack Workspaceに登録されているEmojiを、そこでも使いたいときなどに便利です。

Slack Emojiをまとめてexportする

シンプルなスクリプトなので、Node.jsのバージョンなどの環境まわりの話は省略します。

Nodeのプロジェクトを作成する

適当なディレクトリを作成して、その中で npm init します。

# プロジェクトのルートディレクトリを作成する
$ mkdir SlackEmojiExporter
# プロジェクトのルートディレクトリに移動する
$ cd SlackEmojiExporter
# Nodeのプロジェクトを作成する
$ npm init

npmモジュールのインストール

以下の3つのモジュールをインストールします。

$ npm install --save slack-node
$ npm install --save request
$ npm install --save fs

APITokenを生成する

以下のリンク先でEmojiをexportしたいSlack WorkspaceのAPITokenを作成します。

Legacy tokens | Slack

Legacy_tokens___Slack_.png

スクリプトを書く

たとえば slack-emoji-exporter.js というファイルを作ります。

const Slack = require('slack-node');
const request = require('request');
const fs = require('fs');

apiToken = "<APIToken>"; // <- ここに生成したAPITokenを入力する
slack = new Slack(apiToken);

slack.api("emoji.list", function (err, response) {
    for(key in response.emoji){
        url = response.emoji[key];
        //エイリアスは無視
        if(url.match(/alias/)){
            continue;
        }
        request
        .get(url)
        .on('response', function (res) {
        })
        .pipe(fs.createWriteStream(key + '.png'));
    }
});

スクリプトを実行してEmojiを保存する

たとえば今のプロジェクトルートで先ほど書いたスクリプトを実行すると、直接画像ファイルが流れてきてしまうので、  images ディレクトリを作成してその中でスクリプトを実行します。

$ mkdir images
  • node_modules
  • package-lock.json
  • package.json
  • slack-emoji-exporter.js
  • images
$ cd images
$ node ../slack-emoji-exporter.js

すると、以下のように画像ファイルがダウンロードされるでしょう。
これでEmojiをまとめてexportできました。

スクリーンショット 2018-07-08 15.10.56.png

Slack Emojiをまとめてimportする

Chrome Extensionをインストールする

以下のChrome Extensionをインストールすると、SlackのEmoji追加するところにUIが追加され、ドラッグ&ドロップで画像をまとめてimportできるようになります。

Neutral Face Emoji Tools - Chrome ウェブストア

Emojiをまとめてimportする

以下の画像の手順で Customize Slack を開きます。

Slack_-_AKIBA_swift.png

するとEmojiを追加するウェブが開くので、そこのBulk Emoji Uploaderにドラッグ&ドロップで画像ファイルをまとめて複数登録することができます。

スクリーンショット 2018-07-08 15.17.24.png

参考

10
5
2

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
10
5