应用程序名称未在传出的webhook请求中显示

时间:2017-11-05 17:18:50

标签: php slack slack-api

当我尝试从slack传出钩子获取用户名时,它显示默认用户名为slackbot.it并不显示本案例中Nawaf的实际用户名。 你可以看到它应该保存名称" Nawaf"或"测试"但它的节约" slackbot"我做错了什么?

IMAGE 1

IMAGE 2

IMAGE 3

松开传出的webhook文档 https://api.slack.com/custom-integrations/outgoing-webhooks

1 个答案:

答案 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以获取应用名称。