完全简单的机器人框架。
robo的Python项目详细描述
完全简单的bot框架,其灵感来自ruby的ruboty。
为什么要重新发明轮子
我喜欢python,不擅长node.js(hubot)、ruby(ruboty)。
Err是可插入的,但对我来说太复杂了。
brutal也是可插入的,但我不习惯编写配置文件。
所以我重新发明了轮子。
架构
消息流。
+--[handler a]--+ | | [chat service]-->[adapter]--+--[handler b]--+--[adapter]-->[chat service] | | +--[handler c]--+
处理程序
处理程序为您的机器人提供各种行为。
fromrobo.decoratorsimportcmdclassPing(object):@cmd(regex=r'^ping',description='')defpong(self,message,**kwargs):return'pong'
此处理程序匹配消息ping并返回pong到聊天服务。
引导
example/main.py是bootstrapingrobo的一个例子。
defmain(args=None):#: `name` is bot's name.#: This arg is trigger of handler.robot=Robot(name=args.name,logger=logger)#: `register_default_handlers()` register default handlers.#: Default handlers are `help`, `ping`, `echo`.robot.register_default_handlers()#: Load given adapter name.robot.load_adapter(args.adapter)#: Run robotrobot.run(args.adapter)