No description
Find a file
2024-12-19 13:40:22 +01:00
mmcli Add note about how to provide the access token 2024-11-23 14:59:52 +01:00
tools Package 2023-05-15 19:00:03 +02:00
.gitignore Package 2023-05-15 19:00:03 +02:00
CHANGELOG.md Package 2023-05-15 19:00:03 +02:00
pyproject.toml Add websocket dependency which was missing previously 2023-05-15 19:00:15 +02:00
README.md Update install instructions in README 2024-12-19 13:40:22 +01:00
requirements.txt Add websocket dependency which was missing previously 2023-05-15 19:00:15 +02:00

mmcli

Interact with Mattermost on the command line and in scripts

Usage

mmcli [-h] [-i] [--format {tsv,json}] [--server SERVER] action [subarguments..]

options:
  -h, --help            show this help message and exit
  -i, --ids             use IDs instead of names
  --format {tsv,json}   output format; only json has all fields; default: json
  --server SERVER       e.g.: mattermost.example.org; example.org/mattermost; envvar: MM_SERVER

actions:
    login               retrieve an access token
    cat                 list messages in channel
    tail                list newest messages in channel
    ls                  list channels
    send                send message(s)
    rm                  delete message(s)
    edit                edit message(s)
    addreaction         add emoji reaction to a message
    removereaction      remove emoji reaction from a message
    listcustomemoji     list all custom emoji on the server
    status              update user status
    customstatus        update custom user status (emoji and message)
    lastread            last read message in channel; will be null if all messages are read

For further help, use `mmcli <action> -h`.

You can request an access token with mmcli login, then provide it to future incantations of mmcli by setting the environment variable MM_ACCESSTOKEN.

Where a "URL name" is required, "id:" plus an ID can also be used instead. So these could both be valid:

  • town-square
  • id:123abc456def789ghi012jkl34

Hint: JSON output can be filtered with jq(1).

Installation

With pip or pipx:

git clone https://git.zeus.gent/midgard/mmcli
pipx install ./mmcli

Development

To create a virtualenv and install the dependencies in it:

tools/create_venv.sh

Activate the virtualenv with source venv/bin/activate. To make this easier, you could create an alias alias venv='source venv/bin/activate' in your shell.

If you introduce dependencies, list them in pyproject.toml under dependencies, and run tools/update_requirements.sh.