Custom Emoji manager command-line for Mattermost 😎
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

PyPI Build Status Quality Gate


Custom Emoji manager command-line for Mattermost 😎


  • Create custom Emojis
  • Delete custom Emojis

Coming soon:

  • List custom Emojis
  • Search custom Emojis
  • Export custom Emojis


pip install mmemoji
mmemoji --help

(Requires Python >=3.4)

Usage example

Let's take the Party Parrot Emojis as an example.

  • First, clone the Git repository or retrieve an archive of it:
git clone
  • Then you'll need your Mattermost credentials. You can either pass them to mmemoji with the arguments --url/--login-id/--password or via environment variables, for example:
export MM_URL=''
export MM_LOGIN_ID=''
export MM_PASSWORD='user-1'
  • Finally, run mmemoji to import all the parrots:
mmemoji create --no-clobber {parrots,guests}/hd/*.gif {parrots,guests}/*.gif


  • Here we rely on shell globbing to select all emojis from the directories.
  • Specifying the hd directories first with --no-clobber ensures these emojis are created first and not overwritten by their lower quality counterpart.
  • If you ever want to remove them all, simply run the following:
mmemoji delete --force {parrots,guests}/hd/*.gif {parrots,guests}/*.gif


  • The emoji names are extracted from the filenames the same way they have been during creation.
  • --force is used to ignore the absent low quality duplicates.


  • You can clone this repository and install the project in editable mode:
pip install -e .
  • You'll find a script to create a local Docker test instance under tests/:
  • You can run the test suite with:
python test
  • And last thing, you can install the pre-commit hooks to help with the formatting of your code.
pre-commit install