Metadata-Version: 2.1
Name: kutana
Version: 0.0.2
Summary: The engine for developing bots for soc. networks, instant messengers and other systems.
Home-page: https://github.com/vk-brain/kutana
Author: Michael Krukov
Author-email: krukov.michael@ya.ru
License: UNKNOWN
Description: ![Kutana logo](docs/_static/kutana-logo-512.png)
        
        [![Documentation Status](https://readthedocs.org/projects/kutana/badge/?version=latest)](https://kutana.readthedocs.io/en/latest/?badge=latest)
        [![Build Status](https://travis-ci.com/vk-brain/kutana.svg?branch=master)](https://travis-ci.com/vk-brain/kutana)
        [![CodeFactor](https://www.codefactor.io/repository/github/vk-brain/kutana/badge)](https://www.codefactor.io/repository/github/vk-brain/kutana)
        [![Codacy Badge](https://api.codacy.com/project/badge/Grade/3119bfb791604b9db38e8e7a13e1d415)](https://www.codacy.com/app/michaelkrukov/kutana?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=vk-brain/kutana&amp;utm_campaign=Badge_Grade)
        [![Coverage Status](https://coveralls.io/repos/github/vk-brain/kutana/badge.svg?branch=master)](https://coveralls.io/github/vk-brain/kutana?branch=master)
        [![Total alerts](https://img.shields.io/lgtm/alerts/g/vk-brain/kutana.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/vk-brain/kutana/alerts/)
        
        # Kutana
        The engine for developing bots for soc. networks, instant messengers and other systems.
        
        ### Installation
        - Download and install python (3.5.2+)
        
        ```
        https://www.python.org/downloads/
        ```
        
        - Install python modules from requirements.txt using installed python (user python3 if needed)
        
        ```
        python -m pip install -r requirements.txt
        ```
        
        - Put folder `kutana` into your python path or into your project (proper module in pypi will be available later).
        
        ```
        - myproject/
        -- kutana/
        -- ...
        ```
        
        ### Usage
        - Create `Kutana` engine and add controllers. You can use shortcuts like `VKKutana` for adding and registering controllers, callbacks and other usefull functions.
        - You can set settings in `Kutana.settings`.
        - Add or create plugins other files and register them in executor. You can import plugin from files with function `load_plugins`. Files should be a valid python modules with available `plugin` field with your plugin (`Plugin`).
        - Start engine.
        
        Example `run.py`
        ```py
        from kutana import Kutana, VKKutana, load_plugins
        
        # Creation
        kutana = VKKutana(configuration="configuration.json")
        
        # Settings
        kutana.settings["MOTD_MESSAGE"] = "Greetings, traveler."
        
        # Create simple plugin
        plugin = Plugin()
        
        @self.plugin.on_text("hi", "hi!")
        async def greet(message, attachments, env, extenv):
            await env.reply("Hello!")
        
        kutana.executor.register_plugins(plugin)
        
        # Load plugins from folder
        kutana.executor.register_plugins(*load_plugins("plugins/"))
        
        # Start kutana
        kutana.run()
        ```
        
        Example `plugins/echo.py`
        ```py
        from kutana import Plugin
        
        plugin = Plugin()
        
        plugin.name = "Echo"
        
        @plugin.on_startswith_text("echo")
        async def on_message(message, attachments, env, extenv):
            await env.reply("{}!".format(env.body))
        ```
        
        ### Available controllers
        - VKController (vk.com groups)
        
        ### Tasks
        Task|Priority
        ---|---
        Find and fix all current bugs | high
        Find and fix grammar and semantic errors | high
        Create proper documentation | medium
        Adding tests | medium
        Add module to PyPi | low
        Developing plugins | very low
        
        ### Authors
        - **Michael Krukov** - [@michaelkrukov](https://github.com/michaelkrukov)
        
Keywords: engine social-networks messengers bots asyncio
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Requires-Python: >=3.5
Description-Content-Type: text/markdown
