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