slack rtm api,从dm channel id获取用户名,反之亦然

时间:2015-12-02 23:02:43

标签: slack-api

我正在玩slack rtm api,他们说“您可以以相同的方式向私人群组或直接消息频道发送消息,但使用群组ID(C024BE91L)或DM频道ID(D024BE91L)。“有没有办法从DM通道ID到你要发送直接消息的用户名?

1 个答案:

答案 0 :(得分:1)

我使用解决方法来实现这一点,可能有更好的方法,但我找不到。

您可以使用用户ID(不是用户名,但可以非常轻松地检索)对im.open进行API调用,响应将返回DM通道ID。

这是我在Python中做的一个快速尝试:

def get_direct_channel(sc, user_id):
    '''
    Get direct channel id from userid
    sc => slack client
    '''
    direct_message = sc.api_call("im.open", user=user_id)
    channel = direct_message.get("channel")
    if channel:        
        channel_id = channel.get("id")
        if channel_id:
            return channel_id

    return None

来自doc的更多信息。