Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

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の名前になる。

おわり

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

ne-peer
PHPプログラマー。趣味でangularやVueを触っています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした