Ensure Slack messages appear as correct user (#2893)

Current documentation suggests to use personal API tokens. This isn't
ideal because for a few reasons:

* messages will come as your own user, so it's hard to tell it's coming
  from hass
* it's harder to manage if multiple people are using Slack and home
* assistant, since you'd have to coordinate rolling of it

It is possible to use Slack bot users already. Just make a new one from https://your-team.slack.com/apps/build/custom-integration, and use the token for that. You can even add an icon from the web frontend for home assistant.

However, the message will appear as a bot without a name or icon. This pull requests fixes this by passing the as_user parameter, which uses the bot user's name and icon.

One caveat is you need to invite the bot user into the room you want to
post to. This probably was an issue before though.

🎩 to @jnewland who pointed me to this in his branch
This commit is contained in:
Josh Nichols 2016-08-20 08:36:28 -04:00 committed by Fabian Affolter
parent 482f32bb87
commit 8eb66ac2b8

View File

@ -52,6 +52,6 @@ class SlackNotificationService(BaseNotificationService):
channel = kwargs.get('target') or self._default_channel
try:
self.slack.chat.post_message(channel, message)
self.slack.chat.post_message(channel, message, as_user=True)
except slacker.Error:
_LOGGER.exception("Could not send slack notification")