# Path: databot/expressions/utils.py
# def handler(types=None, item=None, eval_args=True):
#     items = item if item is None or isinstance(item, tuple) else (item,)
# 
#     for item in items:
#         if item not in ('func', 'method', 'attr'):
#             raise ValueError('Unknonw handler item: %r' % item)
# 
#     def decorator(func):
#         if func.__name__ in HANDLERS:
#             raise RuntimeError("Handler %r is already registered." % func.__name__)
# 
#         HANDLERS[func.__name__].append(Handler(func, types, items, eval_args))
# 
#         return func
# 
#     return decorator


import logging
from databot.expressions.utils import handler


logger = logging.getLogger(__name__)


@handler(item='func')
def define(expr, pos, bot, *args, **kwargs):
    return bot.define(*args, **kwargs)



# Path: databot/expressions/utils.py
# def handler(types=None, item=None, eval_args=True):
#     items = item if item is None or isinstance(item, tuple) else (item,)
# 
#     for item in items:
#         if item not in ('func', 'method', 'attr'):
#             raise ValueError('Unknonw handler item: %r' % item)
# 
#     def decorator(func):
#         if func.__name__ in HANDLERS:
#             raise RuntimeError("Handler %r is already registered." % func.__name__)
# 
#         HANDLERS[func.__name__].append(Handler(func, types, items, eval_args))
# 
#         return func
# 
#     return decorator


# Path: databot/runner.py
import logging
from databot.expressions.utils import handler



logger = logging.getLogger(__name__)


@handler(item='func')
def define(expr, pos, bot, *args, **kwargs):
    return bot.define(*args, **kwargs)



@handler(item='func')