如何通知不在频道中的 Slack 用户?

How do I notify users on Slack that aren't in the channel?

我们正在努力做什么

我正在研究自动化,它在自定义 Slack 应用程序上使用 Incoming Webhooks 将消息发布到 Slack 频道。消息提到了人。

有效方法

我们可以很好地发送消息,它具有格式化的内容,并且使用 link-names flag.

正确解析了用户名

什么不起作用

通知的全部意义在于通知一群动态的人他们应该关心的事情。我们标记的人群差异很大(想想那些为拉取请求做出贡献的人),因此并非所有可能的收件人都在这些自动消息去往的频道中。

我们假设如果直接@提及用户名,他们会收到 Slack 的通知。但是,我们测试过并@-提到的两个用户确认他们从未收到过他们被标记的通知。

这与“人类”行为不同,如果您在 Slack 中@提及某人,您会收到一条小消息,提醒您该人不在该频道中,并主动邀请他们或让他们知道。

据我们所知,以编程方式发送消息相当于上图中的“什么都不做”。我想做其他两个选项中的任何一个,最好是“让他们知道”。

我如何通知他们被提及的人?我查看了所有 API 文档,但没有讨论通知不在频道中的用户他们被提及。

这不是一个罕见的问题....对吗?

备注:

您需要先邀请用户加入频道,使用 Python 客户端:

client.channels_invite(
    channel=channel_id,
    user=user_id
)