mm-client-node
v7.2.3
Published
Mattermost client
Downloads
5
Maintainers
Readme
Mattermost-client
Mattermost client which uses the Web API and websockets, forked from loafoe's mattermost client, extended and refactored.
Install
yarn add mattermost-client-node
or
npm i mattermost-client-node
Usage
Import via require
:
const mmClient = require('mattermost-client-node');
or via import
:
import mmClient from 'mattermost-client-node';
and initialize:
const mattermost = new mmClient([hostWithOptionalPort], [teamName], [options]);
Example:
import mmClient from 'mattermost-client-node';
const mattermost = new mmClient(
'localhost:8065',
'myteam',
{
wssPort: 443,
httpPort: 80
}
);
Features
The client was primarily written for use by the 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
- Write more tests
- Implement more API calls
License
The code is licensed under MIT