2017-12-11 38 views
0

여유가없는 봇을 작성하고 봇이 속한 모든 채널의 목록을 얻을 수 있기를 바랍니다. 이를 수행하는 한 가지 방법은 https://slack.com/api/channels.list으로 전화하여 모든 채널의 (잠재적으로 큰) 목록을 얻은 다음 현재 (봇) 사용자가 속해있는 채널을 검색하는 것입니다. 이것은 잘 작동하지만 매우 무거운 것 같습니다.사용자가 속한 채널 목록을 가져옵니다

더 좋은 방법이 있습니까? 특정 사용자가 속한 채널 만 얻으려면?

답변

1

아니요, 더 이상이 정보를 얻을 수있는 방법이 없습니다.

실제로이 슬랙은이 모든 작업에 새로운 conversations 메서드를 사용하는 것이 좋습니다. 다른 모든 메서드에서 members 속성이 사용됩니다. channels.list가 최근 잘려진 사용자 목록 만 반환하도록 변경되었습니다. 자세한 내용은 here을 참조하십시오.

conversations을 사용하면 사용자가 속해있는 모든 채널을 얻으려면 채널당 추가 통화를해야합니다. 그러나 모든 유형의 채널 (예 : 공개 채널, 비공개 채널)에서 동시에 작동합니다.

기본 접근 방식은 다음과 같습니다

  1. 가 대화 형식 conversations.members 당 회원의 목록을 가져옵니다 conversations.list

  2. 에서 모든 대화의 목록을 가져옵니다.

그래서 당신은 당신의 여유 응용 프로그램은 미래 증거하고 또한 사용자의 많은 작업 할 경우 더 나은 작업에 대한 conversations 방법을 사용합니다.

+0

정보 주셔서 감사합니다. 특히 멤버가 잘리고 결국 제거되는 헤드 업. 이것은 내부 봇이므로 엄청난 문제는 아니지만 사용자를위한 채널 목록을 얻을 수 없다는 점이 다소 이상합니다. –

+1

동의하지만 다른 방법으로 솔기가 없습니다. 당연히, 당신은 그것이 [users.info] (https://api.slack.com/methods/users.info)의 일부가 될 것이라고 기대할 수 있지만 그렇지는 않습니다. 이 기능을 요청하기 위해 메일을 보내 줄 것입니다. 특히 새로운 대화 방법을 사용하면 정보를 얻기 위해 너무 많은 호출이 필요합니다. –