Python class to easily develop a simple Telethon style chatbot for the LXMF protocol.
$ pip install -r requirements.txt
- Instantiate the class with a
namefor the bot as parameter.- Two additional options the class takes as parameters are
announceto define the announce interval in seconds (defaults to360) and anannounce_immediatelyboolean to define whether the bot should announce itself immediately after instantiation or not (defaults toFalse)
- Two additional options the class takes as parameters are
- Use the
receiveddecorator to define functions for parsing received messages - Use the
<instance>.send(recipient_hash, message)ormsg.reply(message)methods to send messages - Launch the bot using the
runmethod
Functions decorated by received have access to a msg parameter that has the following content:
msg.sender: the sender hash addressmsg.content: the received message as utf-8 stringmsg.reply: function that takes a string parameter and sends it as reply to the sendermsg.lxmf: the completeLXMessageobject for more complex parsing
Example of a bot that echos a message back to the sender:
from lxmfbot import LXMFBot
bot = LXMFBot("NodeBot")
@bot.received
def echo_msg(msg):
msg.reply(msg.content)
bot.run()The bots' identity and announce file location
| OS | Path |
|---|---|
| Linux: | ~/.local/share/LXMFBot/<botname> |
| MacOS: | ~/Library/Application Support/LXMFBot/<botname> |
| Windows: | C:\Users\<username>\AppData\Local\LXMFBot\<botname> |
