A plugin-based Matrix bot system.
Go to file
Tulir Asokan e99a13a391 Drop support for custom API paths
Changing the base public URL is still possible (which may be useful
if someone wants to use a reverse proxy without adding subdomains).

Fixes #195
2023-01-05 00:27:31 +02:00
.github/workflows Update and unpin black 2022-03-28 22:24:08 +03:00
docker Remove legacy alembic command in docker/run.sh 2022-06-24 18:21:53 +03:00
examples Add missing file 2022-03-27 20:05:34 +03:00
maubot Drop support for custom API paths 2023-01-05 00:27:31 +02:00
.dockerignore Remove .md files from .dockerignore 2020-07-12 18:06:31 +03:00
.editorconfig Add changelog in a file 2022-03-25 20:51:44 +02:00
.gitignore Add missing file 2022-03-25 20:28:16 +02:00
.gitlab-ci-plugin.yml Add GitLab CI file used by all plugins 2022-06-19 14:23:06 +03:00
.gitlab-ci.yml Update dependencies and alpine 2022-12-31 02:28:10 +02:00
.pre-commit-config.yaml Fix typo in pre commit config 2022-05-27 22:48:23 +03:00
CHANGELOG.md Update changelog 2022-11-05 23:51:24 +02:00
dev-requirements.txt Update dependencies and alpine 2022-12-31 02:28:10 +02:00
Dockerfile Update dependencies and alpine 2022-12-31 02:28:10 +02:00
Dockerfile.ci Update dependencies and alpine 2022-12-31 02:28:10 +02:00
LICENSE Initial commit 2018-06-14 01:41:05 +03:00
MANIFEST.in Add changelog in a file 2022-03-25 20:51:44 +02:00
optional-requirements.txt Add support for asyncpg plugin databases 2022-03-26 13:59:49 +02:00
pyproject.toml Update and unpin black 2022-03-28 22:24:08 +03:00
README.md Update README.md 2022-12-29 18:33:15 +02:00
requirements.txt Update dependencies and alpine 2022-12-31 02:28:10 +02:00
setup.py Add changelog in a file 2022-03-25 20:51:44 +02:00

maubot

Languages License Release GitLab CI Code style Imports

A plugin-based Matrix bot system written in Python.

Documentation

All setup and usage instructions are located on docs.mau.fi. Some quick links:

Discussion

Matrix room: #maubot:maunium.net

Plugins

Open a pull request or join the Matrix room linked above to get your plugin listed here.

The plugin wishlist lives at https://github.com/maubot/plugin-wishlist/issues.

Official plugins

  • sed - A bot to do sed-like replacements.
  • factorial - A bot to calculate unexpected factorials.
  • media - A bot that replies with the MXC URI of images you send it.
  • dice - A combined dice rolling and calculator bot.
  • karma - A user karma tracker bot.
  • xkcd - A bot to view xkcd comics.
  • echo - A bot that echoes pings and other stuff.
  • rss - A bot that posts RSS feed updates to Matrix.
  • reminder - A bot to remind you about things.
  • translate - A bot to translate words.
  • reactbot - A bot that responds to messages that match predefined rules.
  • exec - A bot that executes code.
  • commitstrip - A bot to view CommitStrips.
  • supportportal - A bot to manage customer support on Matrix.
  • gitlab - A GitLab client and webhook receiver.
  • github - A GitHub client and webhook receiver.
  • tex - A bot that renders LaTeX.
  • altalias - A bot that lets users publish alternate aliases in rooms.
  • satwcomic - A bot to view SatWComics.
  • songwhip - A bot to post Songwhip links.
  • manhole - A plugin that lets you access a Python shell inside maubot.

3rd party plugins

  • subreddit linkifier - A bot that condescendingly corrects a user when they enter an r/subreddit without providing a link to that subreddit
  • giphy - A bot that generates a gif (from giphy) given search terms
  • trump - A bot that generates a Trump tweet with the given content
  • poll - A bot that will create a simple poll for users in a room
  • urban - A bot that fetches definitions from Urban Dictionary.
  • twilio - Maubot-based SMS bridge
  • tmdb - A bot that posts information about movies fetched from TheMovieDB.org.
  • invite - A bot to generate invitation tokens from matrix-registration
  • wolframalpha - A bot that allows requesting information from WolframAlpha.
  • pingcheck - A bot to ping the echo bot and send rtt to Icinga passive check
  • ticker - A bot to return financial data about a stock or cryptocurrency.
  • weather - A bot to get the weather from wttr.in and return a single line of text for the location specified
  • youtube previewer - A bot that responds to a YouTube link with the video title and thumbnail.
  • reddit previewer - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video.
  • pocket - A bot integrating with Pocket to fetch articles and archive them.
  • alternatingcaps - A bot repeating last message using aLtErNaTiNg cApS.
  • metric - A bot that will reply to a message that contains imperial units and replace them with metric units.
  • urlpreview - A bot that responds to links with a link preview embed, using Matrix API to fetch meta tags.
  • autoreply - A bot that sends automated replies when you're away, and shows you a summary of missed messages when you come back.
  • alertbot - A bot that recives monitoring alerts via alertmanager and forwards them to a matrix room.
  • hasswebhookbot - A bot receiving webhooks from Home Assistant.
  • ovgumensabot - A bot that automatically sends meals from OvGU canteen every day.
  • token - A maubot to create and manage your synapse user registration tokens.
  • redactbot - A bot that immediately redacts any posted file (except for whitelisted types).
  • join - A plugin that restricts who can convince your bot to join new rooms to certain users.
  • create-room - A plugin that creates new rooms and automatically sets them to be part of a private Matrix Space.
  • welcome - A plugin that greets new people with a configurable message when they join a room.
  • activity tracker - A plugin that minimally tracks user activity within a space. Useful for kicking inactive users from a private community.
  • random subreddit post - A plugin that returns a random post from a given subreddit.

† Uses a synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp)

Deprecated/unmaintained plugins

  • jesaribot - A simple bot that replies with an image when you say "jesari".
    • Superseded by reactbot
  • gitea - A Gitea client and webhook receiver.