【发布时间】:2016-04-30 01:28:51
【问题描述】:
我在玩slack rtm api,他们说“您可以以相同的方式向私人群组或直接消息频道发送消息,但使用群组 ID (C024BE91L) 或 DM 频道 ID ( D024BE91L)。”有什么方法可以从 DM 频道 ID 获取您要向其发送直接消息的用户名?
【问题讨论】:
标签: slack-api
我在玩slack rtm api,他们说“您可以以相同的方式向私人群组或直接消息频道发送消息,但使用群组 ID (C024BE91L) 或 DM 频道 ID ( D024BE91L)。”有什么方法可以从 DM 频道 ID 获取您要向其发送直接消息的用户名?
【问题讨论】:
标签: slack-api
我正在使用一种解决方法来解决这个问题,可能有更好的方法,但我找不到。
您可以使用用户 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。
【讨论】: