{"push_id":847829323,"size":10,"distinct_size":10,"ref":"refs/heads/master","head":"9e4c19d036c8318c230468bdbca9c4256faa95b5","before":"baa0264149bde0d73f86c20ec9d0b934f15ee300","commits":[{"sha":"3b5c101d168aa5eee6eba2a39da174b1f024f485","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"WIP","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/3b5c101d168aa5eee6eba2a39da174b1f024f485"},{"sha":"844688d52eb2acfd0c90adb5e797ee118f46ed9d","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Refactor respond to use a macro.\n\nUsers can use regex to match against a message.\n\nRespond adds the bots name to the regex and returns any capture groups\nto the plugin.","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/844688d52eb2acfd0c90adb5e797ee118f46ed9d"},{"sha":"7207a25cc06953378a660e403dd57e0736055c8b","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Update call sites to use Tasks to call all the plugins","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/7207a25cc06953378a660e403dd57e0736055c8b"},{"sha":"0a62689aadebf8624b915aef185095e0d3e9ed7e","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Refactor plugin architecture\n\nWhy:\n\nPlugins should run for indeterminant amounts of time and also be\nnon-blocking.\n\nThis change addresses the need by:\n\nPlugins now get their own task to run in. Plugins have also been\nrefactored to take a connection object (really a `Butler.Message`). This\nstruct contains everything that the plugin needs in order to respond to\nthe proper user and channel. The plugin then responds with a\n`Butler.Response` built from the text response and from the data passed\nin the initial connection struct.","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/0a62689aadebf8624b915aef185095e0d3e9ed7e"},{"sha":"1a9a74ebfd4344de7492c793f10561f5bb6ee450","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Remove dead code","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/1a9a74ebfd4344de7492c793f10561f5bb6ee450"},{"sha":"01e36bd84b884915ace94d45aff69e3a1f07565f","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Use NullAdapter in test mode","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/01e36bd84b884915ace94d45aff69e3a1f07565f"},{"sha":"f7408e642ebdb52fc2fc03abac57bea88dfdddd5","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Remove plugin until we can update to new syntax","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/f7408e642ebdb52fc2fc03abac57bea88dfdddd5"},{"sha":"af2d806fed81729df5d9de7669536afa2389eaff","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Get slack adapter working...ish","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/af2d806fed81729df5d9de7669536afa2389eaff"},{"sha":"9c0ff0ee69821b2af83918b94b393c20510a1065","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Update both slack and console adapters","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/9c0ff0ee69821b2af83918b94b393c20510a1065"},{"sha":"9e4c19d036c8318c230468bdbca9c4256faa95b5","author":{"email":"84a516841ba77a5b4648de2cd0dfcb30ea46dbb4@keathley.io","name":"Chris Keathley"},"message":"Merge pull request #29 from ButlerBot/spike/plugin-macro-api\n\nSpike/plugin macro api","distinct":true,"url":"https://api.github.com/repos/ButlerBot/butler/commits/9e4c19d036c8318c230468bdbca9c4256faa95b5"}]}