README update
This commit is contained in:
55
README.md
55
README.md
@@ -1,7 +1,58 @@
|
||||
# mab
|
||||
|
||||
**mab** *(MAtrix Bot) is a **very** simple Python package that can be used to
|
||||
**mab** *(MAtrix Bot)* is a **very** simple Python package that can be used to
|
||||
develop **very** simple Matrix bots. I have decided to make something like this
|
||||
because I wasn't satisfied by simplicity and usage of other libraries. So
|
||||
this library does not aim to be "the best matrix bot library", it only aims to
|
||||
be good enough for me.
|
||||
be good enough for me.
|
||||
|
||||
## Installation
|
||||
|
||||
Use `pip` to install this package:
|
||||
|
||||
```bash
|
||||
python -m pip install git+https://git.tyukalov.su/nikita/mab
|
||||
```
|
||||
|
||||
## Basic usage
|
||||
|
||||
This is the most simple bot you can create
|
||||
|
||||
```python
|
||||
import asyncio
|
||||
from mab import MatrixBot, MatrixBotConfig
|
||||
from nio import MatrixRoom, MatrixMessageText
|
||||
|
||||
bot: MatrixBot
|
||||
|
||||
async def on_room_message_text(room: MatrixRoom, event: RoomMessageText) -> None:
|
||||
global bot
|
||||
# do not respond to ourselves
|
||||
if event.sender == bot.get_client().user_id:
|
||||
return
|
||||
text = f"You message contains {len(event.body)} symbols"
|
||||
await bot.send_text_to_room(room.room_id, text)
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
global bot
|
||||
# create and start the bot
|
||||
cfg = MatrixBotConfig(
|
||||
matrix_homeserver_url="matrix.domain.su",
|
||||
matrix_username_localpart="nagibator666",
|
||||
storage_directory=Path("storage_nagibator666")
|
||||
)
|
||||
bot = MatrixBot(matrix_bot_config)
|
||||
bot.start()
|
||||
# wait for Ctrl+C
|
||||
try:
|
||||
while True:
|
||||
await asyncio.sleep(1)
|
||||
except:
|
||||
pass
|
||||
# stop the bot
|
||||
await bot.stop()
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(main())
|
||||
```
|
||||
Reference in New Issue
Block a user