Kutana


The library for developing systems for messengers and social networks. Great
for developing bots. Refer to example
for the showcase of the library abilities.
This library uses generalized attachment types, possible actions e.t.c. for flexibility
to use plugins with different backends.
Installation
python -m pip install kutana
Documentation
You can read the extended description of the library in
the docs/index.md file. At the moment,
the documentation is not in the best condition. If you would like
to contribute to its writing, welcome to the issues.
Running
From CLI
Following command will populate application's config, add specified backends and
load plugins from specified folder.
python3 -m kutana run example/config.yml
Refer to the example config.yml
for the configuration details.
From code
from kutana import Kutana
from kutana.backends import VkontakteLongpoll
from kutana.loaders import load_plugins_from_path
app = Kutana()
app.add_backend(VkontakteLongpoll(token="VK-GROUP-TOKEN"))
for plugin in load_plugins_from_path("example/plugins/"):
app.add_plugin(plugin)
if __name__ == "__main__":
app.run()
Example plugin (plugins/echo.py
)
from kutana import Plugin
plugin = Plugin(name="Echo")
@plugin.on_commands(["echo"])
async def _(msg, ctx):
await ctx.reply(ctx.body, attachments=msg.attachments)
If your function exists only to be decorated, you can use _
to avoid
unnecessary names.
Available backends