Giter Club home page Giter Club logo

middleman's Introduction

Middleman

#middleman:elokapina.fi docker pulls License:Apache2 Built with nio-template

Matrix bot to act as a middleman. Useful as a feedback bot or for support purposes.

Features:

  • Messages to bot are relayed to management room
  • Management room users can reply by replying to the messages prefixing with !reply
  • Sender messages can be configured as anonymous
  • Configurable welcome message when bot is invited to a room
  • Users in the management room can write to rooms the bot is in via the !message command

Running

Best used with Docker, find images on Docker Hub.

An example configuration file is provided as sample.config.yaml.

Make a copy of that, edit as required and mount it to /config/config.yaml on the Docker container.

You'll also need to give the container a folder for storing state. Create a folder, ensure it's writable by the user the container process is running as and mount it to /data.

Example:

cp sample.config.yaml config.yaml
# Edit config.yaml, see the file for details
mkdir data
docker run -v ${PWD}/config.docker.yaml:/config/config.yaml:ro \
    -v ${PWD}/data:/data --name middleman elokapinaorg/middleman

Usage

The configured management room is the room that all messages Middleman receives in other rooms will be relayed to.

Normal discussion can happen in the management room. The bot will send out messages in two cases:

  • Replies prefixed with !reply will be relayed back to the room the message came from.

  • Messages prefixed with !message <room ID or alias> will be sent to the room given.

    For example: !message #foobar:domain.tld Hello world would send out "Hello world".

Currently, messages relayed between the rooms are limited to plain text. Images and other non-text messages will not currently be relayed either way.

Development

If you need help or want to otherwise chat, jump to #middleman:elokapina.fi!

Releasing

  • Update CHANGELOG.md
  • Commit changelog
  • Make a tag
  • Push the tag
  • Make a GitHub release, copy the changelog for the release there
  • Build a docker image
    • docker build -f docker/Dockerfile . -t elokapinaorg/middleman:v<version>
    • docker tag elokapinaorg/middleman:v<version> elokapinaorg/middleman:latest
  • Push docker images
  • Update topic in #middleman:elokapina.fi
  • Consider announcing on #thisweekinmatrix:matrix.org \o/

License

Apache2

#middleman:elokapina.fi room photo from here.

middleman's People

Contributors

jamazi avatar jaywink avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.