Skip to main content

Yet another Matrix bot library.

Project description

mxbt

Yet another Matrix bot library, built on matrix-nio.

Feauters

  • Simple and powerfull bots creating
  • Custom emojis support
    • Getting
    • Sending
    • Creating
  • Files sending
    • External files
    • Internal files
  • Native mentions
  • Access to matrix-nio features
  • Event filters
  • Bot modules support
  • Wait for event system
  • E2EE support (check docs before)

Installation

With pip:

$ pip install mxbt

With git and python:

$ git clone https://codeberg.org/librehub/mxbt
$ cd mxbt
$ python -m pip install . 

Getting started

More examples here or in docs.

from mxbt import Bot, Context, Creds, Config, Filter, Listener
import asyncio

bot = Bot(
    creds=Creds.from_env(               # You also can use Creds.from_json and just Creds() 
        homeserver="MATRIX_HOMESERVER",
        username="MATRIX_USERNAME",
        password="MATRIX_PASSWORD"
    ),                               
    config=Config()                     # Config has many options for bot, like prefix, selfbot, encryption, etc...
)
lr = Listener(bot)

@lr.on_command(prefix="?", aliases=["test", "t"])
@Filter.from_users(['@username:homeserver'])    # Event works only with this senders
async def ctx_echo(ctx: Context) -> None:       # Context object contains main info about event
    await ctx.reply(ctx.body)                   # Reply message to event room

if __name__ == "__main__":
    asyncio.run(lr.start_polling())

.env structure

MATRIX_HOMESERVER=https://matrix.org/
MATRIX_USERNAME=user
MATRIX_PASSWORD=password

Built with mxbt

Project Description
sofie A simple selfbot
cryptomx A crytpocurrency notification bot

Special thanks

  • simplematrixbotlib for base parts of API, Listener and Callbacks code ideas. Code from simplematrixbotlib is included under the terms of the MIT license - Copyright (c) 2021-2023 Isaac Beverly
  • matrix-nio for cool client library.

Support

Any contacts and crytpocurrency wallets you can find on my profile page.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mxbt-0.3.6.tar.gz (32.5 kB view hashes)

Uploaded Source

Built Distribution

mxbt-0.3.6-py3-none-any.whl (34.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page