在 Slack 中将表情符号反应附加到传入的 webhook 或斜杠命令

Attach emoji reaction to incoming webhooks or slash commands in Slack

我想向 Slack 发送消息并自动添加反应。我指的不是消息中的表情符号,而是以下反应:

我已经阅读了 API 文档,其中提供了多种设置消息样式的方法,甚至可以添加按钮。 Example Message:

但是我找不到任何附加反应的方法。有没有办法自动添加反应?

据我所知,您不能将反应直接添加为传入 webhook 的一部分或对 Slash 命令的响应。

相反,您需要调用 API 方法 reactions.add 来向 Slack 中的项目添加反应,这可以是一条消息。

为了使用斜杠命令实现这一点,我建议您使用 chat.postMessage 发布您的消息,而不是使用斜杠命令响应。这样你就可以得到消息的时间戳,然后你可以用它来添加反应。

我用它来添加对 slack 机器人刚刚发送的消息的反应。

def send_a_message(message, channel):
    message_info = sc.api_call(
        "chat.postMessage",
        channel=channel,
        text=message,
        username='Slack Bot',
        icon_emoji=':robot_face:'
    )

    sc.api_call("reactions.add", name="robot_face", channel=channel, timestamp=message_info['ts'])