2016-04-26 31 views
2

我创建一个松弛斜线命令,我想知道我在执行命令的通道的用户名斯莱克:如何获得directmessage频道名称

因此,例如,我有一个同事叫@steve,我我直接与史蒂夫聊天,我执行命令:

/mycommand 

,当我回来看看我的申请,我看到POST请求只得到这些值

[ 
    (u'user_id', u'U03NKXXXX'), 
    (u'channel_id', u'D03QBXXXX'), 
    (u'text', u''), (u'response_url', u'https://hooks.slack.com/commands/T03ARXXXX/3804397XXXX/nGUTg4zpQrMrRR07scI6XXXX'), 
    (u'team_id', u'T03ARXXXX'), 
    (u'channel_name', u'directmessage'), 
    (u'token', u'XXXXXXXXXXXXXXXXXXX'), 
    (u'command', u'/mycommand'), 
    (u'team_domain', u'myteam'), 
    (u'user_name', u'myusername') 
] 

我期待directmessage是我的例子中的用户名(steve),那么我怎样才能获得目标频道的用户名呢?

+0

谢谢@smarx。也请编辑您的评论,它指向Dropbox的松弛支持。它应该[支持链接](https://slack.com/help/contact) – eLRuLL

回答

-2

“直接消息”通道没有自定义名称。它们是通用的。主叫用户的名字(你在POST消息中得到的)应该足以在我看来确定它。

+0

我不想识别发件人,但直接消息通道名称。 – eLRuLL

+0

正如我所说的,直接消息通道的名称与用户的名称相同。所以如果你与John Doe交谈,频道的名字是“John Doe”。它不同于群聊,然后频道名称是参加群聊的所有用户的列表,并且他们也显示为群组下的官方私人频道(通常直接消息聊天没有),所以我会假设松散的API将会也给你他们的渠道。所以我想我回答了你的问题,或者我在这里错过了什么? –

+0

在我的经验@ErikKalkoken中,这是不正确的。如果“Jane Doe”正在与“John Doe”交谈,那么“channel_name”始终保持为“directmessage”。但是,“user_name”根据发送消息的人员而变化。所以你会一直知道是谁发了邮件,但很难找出收件人是谁。这需要解码OP所要求的“channel_id”。 – ScottCate