当我尝试从slack传出钩子获取用户名时,它显示默认用户名为slackbot.it并不显示本案例中Nawaf的实际用户名。 你可以看到它应该保存名称" Nawaf"或"测试"但它的节约" slackbot"我做错了什么?
松开传出的webhook文档 https://api.slack.com/custom-integrations/outgoing-webhooks
答案 0 :(得分:1)
您在外发webhook请求中未获取应用消息的用户名的原因很可能是不支持此功能。传出的webhooks是Slack的遗留功能,由Events API取代,它提供了类似的功能,但功能更强大。
我对其进行了测试以验证您的要求,并且可以确认您从message events获取使用Events API发送消息的应用名称。
以下是您从传入的webhooks发布的消息(作为PHP数组)收到的消息事件的示例:
array (
'token' => 'XXX',
'team_id' => 'T12345678',
'api_app_id' => 'A12345678',
'event' =>
array (
'text' => 'This is a line of text.
And this is another one.',
'username' => 'magic-webhook',
'bot_id' => 'B12345678',
'type' => 'message',
'subtype' => 'bot_message',
'ts' => '1509969916.000102',
'channel' => 'G12345678',
'event_ts' => '1509969916.000102',
),
'type' => 'event_callback',
'event_id' => 'Ev12345678',
'event_time' => 1509969916,
'authed_users' =>
array (
0 => 'U12345678',
),
)
对于Slack应用发布的消息,您不会直接在消息事件中获取用户名,但您可以使用bot_id
调用API方法bots.info
以获取应用名称。