LoginSignup
160
110

More than 5 years have passed since last update.

Slackの絵文字(emoji)を一括エクスポート&インポートする

Last updated at Posted at 2017-03-22

Slackの所属チームが増えてきたりすると、他チームで使っているemojiが欲しくなったり、まとめてemojiを移行したくなったりすることはよくあります。いろいろ調べてみると素敵なツールが公開されていたので、今回はそれらを使ったemojiの一括インポート&エクスポートする手順をまとめました。

※Windows10で動作確認済み。

更新履歴

2018/01/12: .png 以外の拡張子のemojiもエクスポートできるようにスクリプトを修正 (@daik さん、ありがとうございます!)

現在のチームのemojiをエクスポート

こちらの記事を参考に進めます。
Qiita: Slackのカスタム絵文字を全てダウンロードする

1. Node.jsをインストール

インストール後、 node --version コマンドで動作確認できます。
今回は下記バージョンを使いました。

λ node --version
v6.10.0

2. 必要なモジュールをインストール

λ npm install slack-node
λ npm install request
λ npm install fs

3. エクスポート元のSlackチームのAPIトークンを取得

ここ でAPIトークンを発行する。

20170322_slack-api-token.png

4. スクリプトファイルを配置

メモ帳やらに下記をコピペして、 "<apitoken>" の部分に発行したAPIトークンを貼り付ける。
その後 slack-emoji-export.js という名前で保存(何でも良い)。


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

apiToken = "<apitoken>"; // ここにAPIトークンを貼り付ける。
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;
        }

        // 取得対象の拡張子
        extention = url.match(/\.[^\.]+$/);

        request
        .get(url)
        .on('response', function (res) {
        })
        .pipe(fs.createWriteStream('image/' + key + extention));
    }
});

5. 保存先ディレクトリを作成する

slack-emoji-export.js を配置した同階層に image というディレクトリを作成する。

6. 実行

コマンドプロンプトからスクリプトを実行する。

C:\Users\emoji-export>node slack-emoji-export.js

7. 完了

imageディレクトリにカスタム絵文字が保存されているはず。

emojiを一括インポート

GoogleChromeのエクステンション、 Slack Emoji Tools を使う。

こちらの記事を参考。
Hatena Blog: Slack Emoji (絵文字) を一括登録できるツールが素敵すぎました

導入後、UIから一括登録できるようになる

20170322_slack-emoji-bulk.png

チームのemoji追加画面 (https://チーム.slack.com/customize/emoji) に行くと、一括登録できるようになっている。
ファイル名がそのままemojiの名前になる。

おわり

おかげでとっても楽に移行できました。各作者様に感謝。

160
110
6

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
160
110