Skip to main content

An easy to use bot library for the Matrix ecosystem written in Python.

Project description

Simple-Matrix-Bot-Lib

(Version 1.2.x)

simplematrixbotlib is a Python 3 library for quickly building Matrix bots. It uses matrix-nio as its Matrix client library. View on Github or View on PyPi

Installation

To use it, simplematrixbotlib can be either installed from pip or downloaded from github.

Installation from pip:

python -m pip install simplematrixbotlib

Download from github:

git clone --branch master https://github.com/KrazyKirby99999/simple-matrix-bot-lib.git

Example Usage

import simplematrixbotlib as botlib

creds = botlib.Creds("home.server", "user", "pass")
bot = botlib.Bot(creds)
bot.run()

Features

Complete:

  • Login to homeserver - bot automatically login upon the execution of bot.run()

    import simplematrixbotlib as botlib
    
    creds = botlib.Creds("home.server", "user", "pass")
    bot = botlib.Bot(creds)
    bot.run() #Logs in during the execution of this line
    
  • Join room on invite - bot automatically join rooms that the bot is invited to upon execution of bot.run(), or upon invite if the bot is running

  • Send message - bot can send messages in response to other messages, and can also run other code in response to messages as well as filter the messages that the bot responds to

    import simplematrixbotlib as botlib
    
    creds = botlib.Creds("home.server", "user", "pass")
    bot = botlib.Bot(creds)
    
    async def say_something_to_a_message_not_from_bot(room, message): #Must be an "async" function with (room, message) arguments
        if not message.sender == bot.async_client.user_id: #Optional, prevents the bot from reacting to its own messages
            await bot.api.send_text_message(room.room_id, "something") #Send a message containing "something" to room
    bot.add_message_listener(say_something_to_a_message_not_from_bot) #Listen for messages, can have as many message listeners as needed, each added using bot.add_message_listener
    
    bot.run()
    

In Progress:

  • Execute action based on criteria

Planned:

  • More

Dependencies

Python:

  • matrix-nio >= 0.18.2

External:

  • Python >= 3.7

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

simplematrixbotlib-1.2.0.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simplematrixbotlib-1.2.0-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file simplematrixbotlib-1.2.0.tar.gz.

File metadata

  • Download URL: simplematrixbotlib-1.2.0.tar.gz
  • Upload date:
  • Size: 3.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for simplematrixbotlib-1.2.0.tar.gz
Algorithm Hash digest
SHA256 d5acebbe6a2ea85aa9172917d2953778358a9c511e7b05148e339de10974aa6f
MD5 5086c415ecbda415f164a6004d383e3f
BLAKE2b-256 3cfda8786233203738990679b514814a67cab0b5d12dae1bee9a3832d5871217

See more details on using hashes here.

File details

Details for the file simplematrixbotlib-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: simplematrixbotlib-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.5

File hashes

Hashes for simplematrixbotlib-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e675abefa638bacd13aae3295dc0e4b54f1110b7bbdf0b4350e12c098a050231
MD5 5d0a9f7d2ed3bff895ac5e040fd984a9
BLAKE2b-256 23f521333e9be7ec040975312bc3c8591185dfb24b39cd1ac45ab80e85ec66f4

See more details on using hashes here.

Supported by

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