I’m in two social Slack teams at once. UQCS has a thousand members and a thousand custom emoji. The other has a few tens of members and no custom emoji.
I wanted to duplicate some of the finer emoji to add ‘core functionality’ like
:thonking: family, the
:partyparrot: family and a few language/product icons.
Slack-Emojinator exists, and it can both download and upload sets of emoji. I wanted to do some of my own HTML parsing to get experience with BeautifulSoup, so I wrote my own version of the first half.
Scalability is important, because 1,000 emoji is actually quite a lot - the naive solution took over 5 minutes to download on my home connection.
Long story short, I wrote three versions: one naive, one reusing connections in
requests, and one full rewrite with
aiohttp (“asyncio http”). The results speak for themselves.
Now that I’ve written it, tested it, profiled it, and used it, it might be worth submitting as a pull request to the Emojinator project.
It’s been submitted to slack-emojinator! I recommend the project in general as more fully-featured, and particularly once the aiohttp code goes in.
Check out the project on GitHub!
Names are hard. ↩