2015-12-02 4 views
3

Я играю с slack rtm api, и они говорят, что «вы можете отправить сообщение в частную группу или прямой канал сообщений таким же образом, но используя идентификатор группы (C024BE91L) или идентификатор канала DM (D024BE91L) ". Есть ли способ получить от идентификатора канала DM к имени пользователя, которому вы отправляете прямое сообщение?slack rtm api, получить имена пользователей из id канала dm и наоборот

ответ

1

Я использую обходное решение, чтобы получить это, может быть, лучший способ, но я не мог его найти.

Вы можете сделать вызов API im.open с идентификатором пользователя (не имя пользователя, хотя его можно получить довольно легко), ответ вернет вам идентификатор канала DM.

Это быстрая попытка я сделал в 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.

Смежные вопросы