Metadata-Version: 1.0
Name: Pyromancer
Version: 0.1
Summary: Simple IRC bot implementation / framework
Home-page: https://github.com/Gwildor/Pyromancer
Author: Gwildor Sok
Author-email: gwildorsok@gmail.com
License: UNKNOWN
Description: Simple IRC bot implementation.
        
        ### Example
        
        ```python
        from pyromancer.objects import Pyromancer
        
        HOST = '1.2.3.4'
        PORT = 6667
        NICK = 'PyromancerBot'
        
        settings = {'host': HOST, 'port': PORT, 'nick': NICK, 'encoding': 'ISO-8859-1',
                    'packages': ['.test_examples']}
        
        p = Pyromancer(settings)
        p.run()
        ```
        
        ### Custom commands
        Writing own commands is fairly simple. Create a folder which will be the package name, with a folder named "commands" in it and a module to hold the commands in there. In your module, you can register functions to be a command with the built-in command decorator. After that you need to register it in your settings, and you can use it.
        
        #### Example
        
        File layout:
        
        ```
        test/
            commands/
                __init__.py
                test_commands.py
            __init__.py
        init.py
        ```
        
        test_commands.py:
        
        ```python
        from pyromancer.decorators import command
        
        @command(r'bye (.*)')
        def bye(match):
            match.msg('Bye {m[1]}!')
        ```
        
        init.py:
        
        ```python
        settings['packages'] = ['test.test_commands']
        ```
        
        On IRC:
        
        ```
        <User> bye everyone
        <Bot> Bye everyone!
        ```
        
        Pyromancer scans the modules in the settings automatically for functions decorated using the commands decorator, so all your commands in `test_commands.py` are used automatically.
        
        #### The `Match.msg` function
        
        The `Match.msg` function applies formatting by default and provides some additional utilities. The most important of those is that when no target has been passed on as an argument, it will use either the channel or the user (in case of a PM) whose input line triggered the command to be executed as the target, effectively replying.
        
        ##### Parameters
        
        * `message` - the message to be send to the server. Formatting will be applied when `raw=False` using any additional `args` and `kwargs`, so you can apply the full power of the [Python Format Mini-Language](http://docs.python.org/3.3/library/string.html#format-string-syntax) on the message.
        
        * `target` - the target to send the message to. If not provided, it will attempt to use either the channel or user whose input line triggered the command, which effectively results in repplying.
        
        * `raw` - defaults to `False`. When true, no formatting is applied on `message`.
        
        * `args` and `kwargs` - arguments to be passed on through the formatting which is applied on `message`.
        
Platform: UNKNOWN
