我正在尝试设置一个 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 端点发出 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 机器人现在可以根据请求更改名称!
在发出 post message API 请求时,您可以使用 icon_name 和 username 参数覆盖默认图标和用户名。
但为了做到这一点,您需要在 Slack 应用程序设置中启用 chat:write.customize 范围。