Python class to easily develop a simple Telethon style chatbot for the LXMF protocol.
$ pip install -r requirements.txt
- Instantiate the class with a
name
for the bot as parameter.- Two additional options the class takes as parameters are
announce
to define the announce interval in seconds (defaults to360
) and anannounce_immediately
boolean 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
received
decorator 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
run
method
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 completeLXMessage
object 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> |