UQComputingSociety / uqcsbot-slack

:mortar_board: UQCSbot: our friendly little Slack bot
https://slack.uqcs.org.au
MIT License
55 stars 44 forks source link

Make python bot internals less complex #250

Open CameronAavik opened 6 years ago

CameronAavik commented 6 years ago

Part of the reason that we switched over to a custom python implementation was that we wanted to react quickly to Slack API changes that break things as the official APIs are slow to react.

I'm worried that our current implementation of the wrapper uses too much python magic that is very beginner unfriendly.

In addition, as we move towards rate limiting, we are going to need to have every API call asynchronous (since it is processed on a queue, needs to be handled like promises) so the rethink of the internals should be addressed at the same time.

I propose that:

TRManderson commented 6 years ago

We actually don't need to have every API call async FYI, can just implement them using normal blocking primitives

mitchmcdee commented 6 years ago

I'd definitely like to discuss this more at some point. #282 is somewhat relevant

Realistically, I wouldn't be against the idea of removing the majority of our asyncio in the interest of beginner friendliness; which might make ideas like #286 more important (for user feedback during blocked calls)

TRManderson commented 6 years ago

Yep, I'm fine with removing most of our async in favour of beginner friendliness.