kmaida/rota-slackbot

Why @mention and not /action

mshahat opened this issue ยท 3 comments

Hello,

Was wondering why rota was implemented as a mention bot @rota and not a slack action /rota

Thought you could explain if there is a usage or technical motivation. ๐Ÿ™‚

Thanks,

/CC @mramadan88

Yes. There were technical and usage motivations. If it had been implemented as an action, the complexity of parsing each of Rota's commands was much higher. Either every Rota command would have needed to be a separate action (e.g., "/rota-assign", "/rota-new", etc.) or the parsing and technical feasibility of parsing individual commands was significantly greater. Also, using Rota as a bot allows it to more easily directly respond to users to send them messages and interact with them both in channels and on a DM basis. Having a more linear connection to the App Home (which is important for Rota to be able to show people at a glance which rotations they're currently on staff or on call for) also worked better with a bot user.

(In early development, I did actually try to implement it as actions, or with actions alongside the mentions, but it rapidly became confusing to develop and also confusing to use (since the specific target rotation needs to be specified with every command). It is still possible to add actions that will work with Rota though, and other bots I've developed DO do this. However, given Rota's scope and the manner in which it handles multiple rotations, it simply wasn't necessary to do both.)

thanks very much, @kmaida , excellent work.

hello @kmaida , another question on this one, please.
how do you overcome the fact that configuring @rota or interacting with it in a channel, could generate a lot of notification for users?

another question, configuring @rota could take place in any channel? or a particular channel?
Thanks,

/cc @mramadan88