Slack doesn't provide an easy way to extract custom emoji from a team. (Especially teams with thousands of custom emoji) This Gist walks you through a relatively simple approach to get your emoji out.
If you're an admin of your own team, you can get the list of emoji directly using this API: https://api.slack.com/methods/emoji.list. Once you have it, skip to Step 3
HOWEVER! This gist is intended for people who don't have admin access, nor access tokens for using that list.
Follow along...
Open your Slack team on your browser (I used FireFox in this example)
Next, Open your developer tools, and go to the network tab. Look for a POST request on /emoji.list
Right Click on the request, and choose to open it in a new tab.
This will cause the browser to replay the request, yielding a JSON file with all your emoji information.
Save this file somewhere as emoji.json
Run download.sh on the file. (Make sure you chmod +x
it to make it executable. Details on the download.sh
file.
./download.sh emoji.json
Sit back and wait. This will create a folder called output
and will save all your emoji to it.
To bulk upload your emoji into a new team, use this chrome extension: https://chrome.google.com/webstore/detail/neutral-face-emoji-tools/anchoacphlfbdomdlomnbbfhcmcdmjej
1- This downloads files sequentially, one at a time. I didn't want to incurr Slack's rage by hammering their edge server with concurrent downloads. 2- This will duplicate aliased emoji
I decided to write a python script for this, parsing was cleaner without shell magic, and I couldn't get any other examples to work.
You'll need to get a bearer/bot token set up to make this work: docs here
This will create an
out
directory, and download every emoji in your workspace as .We have over 2000 custom emoji, and this worked fine. yeah, error handling could be better :) but it works, and you don't actually need to be an admin to run it.