Find a file
2025-06-17 23:21:52 +02:00
.github ci: 👷 Remove manual pip install pytest-github-actions-annotate-failures from pytest workflow 2021-12-31 13:46:13 -06:00
doc Release v2.12.3 2025-02-09 12:31:23 -06:00
examples Add reply_to param in api.send_text_message. Also add usage example. (#47) 2024-02-20 22:19:15 +00:00
simplematrixbotlib fixed docstring for send_reaction 2025-02-09 12:30:27 +00:00
tests Fix unit tests (#92) 2024-08-31 00:07:28 +00:00
.devcontainer.json misc-improvements (#55) 2024-02-20 20:21:28 +00:00
.gitignore Update matrix-nio mimimum version (#53) 2023-12-15 21:25:36 +00:00
CHANGELOG.md Release v2.12.3 2025-02-09 12:31:23 -06:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md (#46) 2021-07-24 10:16:23 -05:00
CONTRIBUTING.md Update references from Github to Codeberg repository (#82) 2024-06-05 12:49:05 +00:00
LICENSE Update LICENSE 2023-10-21 13:21:28 +00:00
Makefile Remove accidentally added "args" (#63) 2021-09-06 15:12:43 -05:00
pyproject.toml Remove upper version limit of matrix-nio 2025-06-17 18:44:14 +02:00
README.md Release v2.12.3 2025-02-09 12:31:23 -06:00
SECURITY.md Create SECURITY.md 2021-11-25 10:31:23 -06:00
setup.py Add poetry support to project (#59) 2021-09-06 12:16:03 -05:00

Simple-Matrix-Bot-Lib

(Version 2.12.3)

Simple-Matrix-Bot-Lib is a Python bot library for the Matrix ecosystem built on matrix-nio.

View on Codeberg or View on PyPi or View docs on readthedocs.io

Learn how you can contribute here.

Features

Installation

simplematrixbotlib can be either installed from PyPi or downloaded from Codeberg.

Installation from PyPi:

python -m pip install simplematrixbotlib

Read the docs to learn how to install E2E encryption support.

Download from Codeberg:

git clone --branch master https://codeberg.org/imbev/simplematrixbotlib.git

Example Usage

# echo.py
# Example:
# randomuser - "!echo example string"
# echo_bot - "example string"

import simplematrixbotlib as botlib

creds = botlib.Creds("https://home.server", "echo_bot", "pass")
bot = botlib.Bot(creds)
PREFIX = '!'

@bot.listener.on_message_event
async def echo(room, message):
    match = botlib.MessageMatch(room, message, bot, PREFIX)

    if match.is_not_from_this_bot() and match.prefix() and match.command("echo"):

        await bot.api.send_text_message(
            room.room_id, " ".join(arg for arg in match.args())
            )

bot.run()

More information and examples can be found here.