An open API service indexing awesome lists of open source software.

https://github.com/loafoe/mattermost-client

Mattermost client using websockets
https://github.com/loafoe/mattermost-client

hubot hubot-matteruser mattermost websockets

Last synced: 5 months ago
JSON representation

Mattermost client using websockets

Awesome Lists containing this project

README

          

# Mattermost-client

[![Build Status](https://github.com/loafoe/mattermost-client/workflows/CI/badge.svg)](https://github.com/loafoe/mattermost-client/actions?workflow=CI)

Mattermost client which uses the Web API and websockets.

# Features

The client was primarily written for use by the [Matteruser](https://github.com/loafoe/hubot-matteruser) Hubot adapter.
The initial implementation thus contains only the minimal set of API calls to support this. Pull requests to expand API support are very welcome!

## Highlights

- Logs into Mattermost team server with username and password ..OR..
- Uses a personal access token for authentication
- Connects via websocket for real-time interaction
- Can post messages to joined channels
- Can be invited to channels / DMs since its just a regular user
- Initiate DMs to users
- Splits large messages in 4K chunks

## Environment variables

The following environment variables may be defined to alter behavior:

| Variable | Required | Description |
|----------|----------|-------------|
| MATTERMOST\_TLS\_VERIFY | No | (default: true) set to 'false' to allow connections when certs can not be verified (ex: self-signed, internal CA, ... - MITM risks) |
| MATTERMOST\_LOG\_LEVEL | No | (default: info) set log level (also: debug, ...) |
| MATTERMOST\_USE\_TLS | No | (default: true) set to 'false' to use http/ws instead of https/wss |

## Mattermost 5.x.x

This client always tries to track the latest version of Mattermost.
As of version `5.0.0` of Mattermost might introduce backwards incompatible API changes make sure you are using the latest version of this library.

## Older versions of Mattermost

For interaction with Mattermost versions please use version of the library matching the Mattermost version.

# TODO

- Implement more API calls

# License

The code is licensed under MIT.