hubot-matteruser-es6
v0.3.0
Published
[![npm package][npm-badge]][npm]
Downloads
12
Maintainers
Readme
hubot-matteruser-es6
Hubot is "chat bot" created by GitHub that listens for commands and executes actions based on your requests.
hubot-matteruser-es6
is a Hubot adapter for Mattermost written in javascript es6 that uses the Mattermost Web Services API and WebSockets to deliver Hubot functionality.
- Learn more about Hubot in Wired Magazine
- Learn more about Mattermost as an open source, self-hosted team communication server
About current version 0.1.0
- This version is testing currently. Do not use it in production.
- This version is based on https://github.com/loafoe/hubot-matteruser v3.9.1
- This version use mattermost v3 API and has been tested on mattermost v3.9.2
- This version is compatible hubot v3.0.1 (es6 ported version)
Description
This Hubot adapter connects to your Mattermost server. You can invite your bot to any channel just as a regular user. It listens and perform your commands. The adapter uses mattermost-client for all low level Mattermost communication.
Try the Hubot demo
You can try out Hubot by joining the Mattermost community server and joining the Hubot channel:
- Create an account on the Mattermost nightly builds server at https://pre-release.mattermost.com/
- Join the "Hubot" channel
- Type
hubot help
for instructions
Sample commands
You can try a simple command like hubot the rules
to bring some static text stored in Hubot:
Try hubot animate me
to have Hubot reach out to Giphy and bring back a random animated image.
Try hubot map me [NAME_OF_CITY]
to have Hubot reach out to Google Maps and bring back a map based on the name of a city you pass in as a parameter. For example, hubot map me palo alto
brings back the below map of Palo Alto
Docker usage
Standalone
Clone this repository, then build the Hubot-Matteruser container:
docker build --build-arg hubot_owner=<owner> \
--build-arg hubot_name=<name> \
--build-arg hubot_description=<desc> \
--tag=hubot-matteruser-es6 \
.
Start the container:
docker run -it \
--env MATTERMOST_HOST=<mm_host> \
--env MATTERMOST_GROUP=<mm_team> \
--env MATTERMOST_USER=<mm_user_email> \
--env MATTERMOST_PASSWORD=<mm_user_password> \
-p 8080:8080 \
--name hubot-matteruser-es6 \
hubot-matteruser-es6
Docker Compose
TODO
Installation
1) Install a Mattermost server
Follow the Mattermost install guides
2) Install hubot-matteruser
On a separate server, install hubot-matteruser
using the following commands:
npm install -g yo generator-hubot
yo hubot --adapter matteruser-es6
Follow the instructions to set up your bot, including setup of mattermost-client
.
Environment variables
The adapter requires the following environment variables to be defined before your Hubot instance will start:
| Variable | Required | Description |
|----------|----------|-------------|
| MATTERMOST_HOST | Yes | The Mattermost host e.g. mm.yourcompany.com |
| MATTERMOST_GROUP | Yes | The team/group on your Mattermost server e.g. core |
| MATTERMOST_USER | Yes | The Mattermost user account name e.g. [email protected] |
| MATTERMOST_PASSWORD | Yes | The password of the user e.g. s3cr3tP@ssw0rd! |
| MATTERMOST_WSS_PORT | No | Overrides the default port 443
for websocket (wss://
) connections |
| MATTERMOST_HTTP_PORT | No | Overrides the default port (80
or 443
) for http://
or https://
connections |
| 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_USE_TLS | No | (default: true) set to 'false' to switch to http/ws protocols |
| MATTERMOST_LOG_LEVEL | No | (default: info) set log level (also: debug, ...) |
| MATTERMOST_REPLY | No | (default: true) set to 'false' to stop posting reply
responses as comments |
| MATTERMOST_IGNORE_USERS | No | (default: empty) Enter a comma-separated list of user senderi_names to ignore. |
Example configuration
The below example assumes you have created a user [email protected]
with username hubot
and password s3cr3tP@ssw0rd!
on your Mattermost server in the core
team reachable on URL https://mm.yourcompany.com/core
export MATTERMOST_HOST=mm.yourcompany.com
export MATTERMOST_GROUP=core
export [email protected]
export MATTERMOST_PASSWORD=s3cr3tP@ssw0rd!
License
The MIT License. See LICENSE
file.