Open duhow opened 3 years ago
This is a big patch set. How would you like to integrate your changes? Perhaps create a branch and slowly add your changes then merge to master?
It looks like there are already some changes that were already applied to the slackv3 backend which will make for less work when applying your changes.
Some key features / changes:
Just be aware this backend is tweaked to my needs for the Slack bot, some functions are not fully working or developed (some old code remains).
Similar to @duhow, I built my own Slack backend to add some functions we needed. It's here: https://github.com/andrewthetechie/err-slackextendedbackend
Dunno how helpful it'll be, but wanted to share it on
@andrewthetechie Thank you for pointing this out!! The slack backend story has been unfortunate for errbot. It appears there were 4-5 developers that all implemented some form of slack backend because the core backend wasn't evolving fast enough. Would you be interested in proposing patches to port your extended features to this backend?
Right now I probably can't invest the time to do patches. However, I will keep an eye on this repo (starred it) and try to provide feedback/feature requests.
When I get some time, I'll see about moving my testbot to this backend to start dogfooding and offering feedback.
The biggest thing I'd offer is "I want to be able to do a callback on any slack event". That's mostly what lead to us building our own backend - we wanted to react to other events and couldn't come up with a good way to make it happen on the existing backend.
Fair enough, I understand where you're coming from.
The plumbing is there to register handlers for most slack events. In theory you could inherit from the backend to implement your own handler methods to have the bot react to them as you wish. However, there is a bug https://github.com/errbotio/errbot/issues/1484#issuecomment-775298552 which is causing inheritance to break for backends at the moment. The callback model is quite simple and may not be adapted to complex use cases. It could be something that evolves in the future.
Compared against default Slack Backend from Errbot 6.1.6: https://github.com/errbotio/errbot/blob/6.1.6/errbot/backends/slack.py