Open hzoo opened 6 years ago
Works for me. I've clearly been terrible about maintaining this. You always assume something is going to be small and not need a framework, and then it grows 😆
I would love to work on this but currently, I have to focus on graduating first 😞 I will check in again once I am done with my master's thesis.
Is this still a want? I've been looking over at probot and the handlers currently in this repo.
I figure I could start with some of the most basic handlers and slowly start moving it over one by one instead of a big switch.
Thoughts? I was thinking of starting with the issues/opened.js
handler since that one seems pretty straight forward.
If this seems cool, do let me know. I'm going to get started later in the day. If anyone has an alternative approach or maybe a better handler to start with, let me know :).
Thanks.
Would love to help with this @hzoo! Will try to hack away at it this upcoming weekend, though my bandwidth this week is low; are the features in this repo's README up to date?
I believe so other than the existing prs? Haven't updated it in so long
I'm sure a lot of the features are already probot apps too? wonder if you can just reuse like https://github.com/eslint/eslint-github-bot
I'm sure a lot of the features are already probot apps too
Yep:
A couple of these are only kind of the right fit for the related feature - might be worth rewriting them into one app anyway, but its up to you.
Yeah, possible that most of them are simple enough to do anyway - would be nice to be able to import it as a dep and then run it from one app
You actually can, by npm install
-ing the repo (since most of them aren't on NPM) then either calling the exported function with your own robot
:
module.exports = robot => {
someOtherProbotApp(robot)
anotherProbotApp(robot)
}
robot
is effictively an event emitter, so calling those apps' exported functions is adding a new event handler via robot.on
, and it gets all the magical authentication bits from the over-arching app's robot
.
Or, we also have some docs for "combining apps".
Only issue with doing this is that unless the app is exactly what you need, you can't configure or change it. That's typical for dependencies in general, but Probot doesn't have a way of passing options on an app level (there is context.config
but thats per-repo).
Ok sounds like what babel's presets were originally before: just an array of plugins. But then we added preset and plugin option to be able to configure
Should use the framework instead of our own thing