如何通过 slack api 动态更改 slack 机器人显示名称?

问题描述 投票:0回答:2

我正在尝试设置一个 Slack 机器人,它会出于各种原因发送提醒。我已经设置了 api 调用以通过我们的 slack 机器人发送消息。问题是每个提醒都应该有不同的显示名称,而不是静态显示名称“reminder”。

我的问题是,每次通过 api post 请求发送提醒时,有没有办法通过 slack api 动态更改机器人的名称。

例如: 我向办公室成员发送了一条提醒,要求他们将时间表放入其中,因此机器人在发送所述提醒时应具有“时间表提醒”名称。但随后我在 slack 中也有一个联系客户的提醒,所以我希望机器人显示名称动态更改为“客户联系”,而不是保留为“时间表提醒”..

如果有人可以提供帮助,请告诉我,我将非常感激。

我尝试通过 users.profile.set 调用来执行此操作,但没有任何改变..

https://slack.com/api/users.profile.set?name=BOTNAME&user=BOTUSERID&display_name=CHANGENAMETOTHIS

display_name 值保持不变:

 "display_name": "",
api slack slack-api
2个回答
0
投票

好消息,我自己想出来了,所以这里是解决方案,以防有人需要它:

向此 api 端点发出 postrequest:

https://slack.com/api/users.profile.set

接下来需要设置参数如下:

 $payload=[
            'user' => 'YOUR_BOT_USER_ID',
            'profile' => [
              'display_name' => 'INSERT_YOUR_DYNAMIC_NAME_HERE',
            ],
        ];  
//This example is in PHP
//The trick here is to make sure to nest 'display_name' in 'profile'

如果您不知道如何获取机器人的用户 ID,请按以下步骤操作:

转到 slack api 页面:https://api.slack.com/methods/auth.test/test

确保选择令牌设置为“无令牌” 然后在 或者,提供您自己的令牌:,输入您的机器人令牌。

瞧,您的 Slack 机器人现在可以根据请求更改名称!


0
投票

在发出 post message API 请求时,您可以使用 icon_nameusername 参数覆盖默认图标和用户名。

但为了做到这一点,您需要在 Slack 应用程序设置中启用 chat:write.customize 范围。

© www.soinside.com 2019 - 2024. All rights reserved.