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

slack rtm api, get usernames from dm channel id and vice-versa

我正在研究 slack rtm api,他们说 "You can send a message to a private group or direct message channel in the same way, but using a Group ID (C024BE91L) or DM channel ID (D024BE91L)." 是否有任何方法可以从 DM 频道 ID 获取您要向其发送直接消息的用户名?

我正在使用一种解决方法来解决这个问题,可能有更好的方法,但我找不到。

您可以使用用户 ID(不是用户名,虽然它可以很容易地检索)向 API 调用 im.open,响应将 return 您的 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 的更多信息。