hubot-matteruser-es6

0.3.0 • Public • Published

hubot-matteruser-es6

npm package

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.

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:

  1. Create an account on the Mattermost nightly builds server at https://pre-release.mattermost.com/
  2. Join the "Hubot" channel
  3. 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:

s

Try hubot animate me to have Hubot reach out to Giphy and bring back a random animated image.

s

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

s

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. hubot@yourcompany.com
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 hubot@yourcompany.com 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 MATTERMOST_USER=hubot@yourcompany.com
export MATTERMOST_PASSWORD=s3cr3tP@ssw0rd!

License

The MIT License. See LICENSE file.

Package Sidebar

Install

npm i hubot-matteruser-es6

Weekly Downloads

1

Version

0.3.0

License

MIT

Last publish

Collaborators

  • b6pzeusbc54tvhw5jgpyw8pwz2x6gs