在slack rtm api之上的一个小事件处理库。
layabout的Python项目详细描述
layabout是一个位于slack rtm api之上的小型事件处理库。
frompprintimportpprintfromlayaboutimportLayaboutapp=Layabout()@app.handle('*')defdebug(slack,event):""" Pretty print every event seen by the app. """pprint(event)@app.handle('message')defecho(slack,event):""" Echo all messages seen by the app except our own. """ifevent.get('subtype')!='bot_message':slack.rtm_send_message(event['channel'],event['text'])defsomeone_leaves(events):""" Return False if a member leaves, otherwise True. """returnnotany(e.get('type')=='member_left_channel'foreinevents)if__name__=='__main__':# Automatically load app token from $LAYABOUT_TOKEN and run!app.run(until=someone_leaves)print("Looks like someone left a channel!")
有什么好处?
您可以将layob看作构建可松弛机器人的微型框架。 因为它包装了slack的rtm api,所以在与 用户、响应频道消息和监视事件。如果你想要更多 关于如何使用它的想法,请查看examples。
功能
还没卖掉?这里有一个清单的功能,以甜的交易。
- 自动从环境变量加载可松弛的api令牌,提供 他们直接,甚至带上你自己的懒鬼。
- 为一个事件注册多个事件处理程序。
- 通过堆叠装饰器为多个事件注册单个处理程序。
- 可配置的应用程序关闭。
- 在连接丢失时的可配置重试逻辑。
- 很轻。仅依赖于正式的python slackclient库。
行为准则
与layob项目的代码库交互的每个人都应该遵循 这个Code of Conduct。