Group Alias is a simple Hubot package which allows you to define new "@mentions" which are automatically expanded. For example, you could define @dev
, @design
to send a message to all members of your teams. Using hubot-auth
, you can also dynamically define groups!
All this package to your package.json
. Do this by running this command:
npm install --save hubot-group-alias
Add "hubot-group-alias" to external-scripts.json
:
[
"...",
"hubot-group-alias",
"..."
]
Set the HUBOT_GROUP_ALIAS
variable.
heroku config:add HUBOT_GROUP_ALIAS=...
HUBOT_GROUP_ALIAS_NAME_PROP
User
object that contains the short or @ name for each user. The problem is this field is non-standard and defined by each user.hubot-auth
. This is because both those features rely on matching this property for expanding the message.User.mention_name
then User.name
HUBOT_GROUP_ALIAS_NAME_PROP="mention_name"
mention_name
User.name
, but I'm not sure, because I don't use Slack.HUBOT_GROUP_ALIAS
FormatThe format for configuration is easy:
alias1=user1,user2;alias2=user1
That is:
;
.=
.,
.@
.Note: When set in a shell environment, you may want to put ''
around your alias definition so that any ;
don't try to break the command.
Group Alias supports dynamically defining groups using the hubot-auth package. All "roles" that are created by hubot-auth
will be treated able to be expanded into @mention messages. To do this, simple set:
HUBOT_GROUP_ALIAS='DYNAMIC'
and make sure hubot-auth
is installed.
hubot-auth
roles act the same way.HUBOT_GROUP_ALIAS_NAME_PROP
because otherwise, hubot-auth
may use a different User name from the @ name. (Please see the section above for more details)By default, most chat apps don't support autocomplete for bots. :(
However, Group Alias includes the ability to use custom emoji in order to allow apps autocomplete. This should work with most chat clients, though please file an issue if there is a different emoji syntax I've missed. To use this feature, all you need to do is add the emoji to your particular chatroom, with the same name as the alias.
The script matches the following forms of the alias dev
:
For example:
If you set the configuration as: dev=Alice,Bob,Eve
And the message sent is:
PO> Hey @dev, there's a standup in 5 min.
Then this message will be sent by Hubot:
Hubot> Hey @Alice @Bob @Eve, there's a standup in 5 min.
Note that as of version 1.6.0 users' names are filtered from the messages they send.
In the above example, the following would happen if @Alice sent a message:
Alice> Hey @dev, there's a standup in 5 min.`
Hubot> Hey @Bob @Eve, there's a standup in 5 min.`