Slack 이벤트 API를 통해 채널 유형 결정

대머리

Slack Events API로 작업하고 이벤트 알림을 수신하는 동안 메시지가 다음 위치로 전송되었는지 확인하기가 어려웠습니다.

  • 직접 메시지
  • 공개 채널
  • 비공개 그룹 / 채널

요청 본문에는 메시지가 전송 된 채널 유형을 식별하는 필드가 없습니다. 따라서 채널 유형에 따라 애플리케이션에 대해 다른 동작을 원하는 경우 (예 : 여러 사람 채널에서 메시지를 보낸 사용자에게 태그 지정) ),이를 수행하는 명확한 방법이 없습니다.

채널 유형에 관계없이 요청은 항상 동일한 형식을 따릅니다.

{
  :token=>"some_auth_token",
  :team_id=>"T1234ABCD",
  :api_app_id=>"A1234ABCD",
  :event=> { 
    :type=>"message",
    :user=>"U1234ABCD",
    :text=>"Who loves Orange Soda?",
    :ts=>"1486219313.000034",
    :channel=>"D1234ABCD",
    :event_ts=>"1486219313.000034"
  },
  :type=>"event_callback",
  :authed_users=>["U1234ABCD"]
}
대머리

내가 알아 차린 것은 (Slack 문서에서는 찾을 수 없지만) 채널 식별자는 사용되는 채널 유형에 따라 해당 문자로 시작한다는 것입니다.

  • 직접 메시지
    • D로 시작합니다 . 예 ::channel=>"D1234ABCD"
  • 공개 채널
    • C로 시작합니다 . 예 ::channel=>"C1234ABCD"
  • 비공개 그룹 / 채널
    • G로 시작합니다 . 예 ::channel=>"G1234ABCD"

따라서 채널 ID의 첫 번째 문자를 확인하여 채널 유형을 결정할 수 있습니다.

예를 들어 Ruby에서는 다음 방법을 사용합니다.

def channel?(channel_id)
  return true if channel_id.start_with?("C", "G")
  false
end

또한 Slack에서 예상되는 동작임을 확인하는 응답을 받았으므로 이러한 방식으로 채널 유형을 가정하는 것이 안전해야합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

'slacker'및 Slack API를 통해 Slack 채널에 "0"게시

분류에서Dev

SLACK-채널의 마지막 이미지 읽기-URL을 가져와 Slack 앱을 통해 API로 전송

분류에서Dev

MS 봇 빌더를 사용하여 Slack 채널에서 "imBack"유형으로 버튼을 설정하는 방법

분류에서Dev

유성에서 이벤트를 통해 정보 보내기

분류에서Dev

Python 스크립트를 사용하여 Slack 채널에 이미지 업로드

분류에서Dev

Hubot으로 Slack의 특정 채널에 메시지를 보낼 수 없음-SlackRTMError : 채널 ID 없음

분류에서Dev

Kotlin Coroutine-채널 전송 이벤트를 동기식으로 유지

분류에서Dev

Slack API 초대 봇을 채널에

분류에서Dev

Runnable을 통해 이벤트를 수정하는 방법

분류에서Dev

AutoFixture를 통해 개체 인스턴스를 채우지 만 일반이 아니라 유형별로 채우기

분류에서Dev

AutoFixture를 통해 개체 인스턴스를 채우지 만 일반이 아니라 유형별로 채우기

분류에서Dev

JavaScript를 통해 특정 채널의 비디오 목록 가져 오기

분류에서Dev

사용자 이름이 아닌 채널 이름을 통해 youTube V3 API를 검색하십니까?

분류에서Dev

JSON으로 특정 YouTube 채널에 대한 예정된 라이브 이벤트 피드를 얻는 방법

분류에서Dev

HTTP를 통해 제공하는 동안 MIME 유형을 지정해야하는 이유는 무엇입니까?

분류에서Dev

매개 변수를 통해 전달 된 널 검사 값 유형

분류에서Dev

이벤트 유형 데이터를 기반으로 행을 채우는 방법

분류에서Dev

zapier가 slack 이벤트 API를 활성화하기 위해 챌린지 값을 보낼 수 없습니다.

분류에서Dev

Chrome 개발자 채널이 더 이상 apt-get 업그레이드를 통해 Chrome을 업그레이드하지 않는 이유는 무엇입니까?

분류에서Dev

axios를 통해 API를 연결할 수있는 이유는 무엇입니까?

분류에서Dev

OpenVPN 터널을 통해 연결 클라이언트 IP 주소 유지

분류에서Dev

브라우저를 통해 mysql에 연결할 수 없지만 PHP로 터미널을 통해 연결할 수없는 이유는 무엇입니까?

분류에서Dev

Parse에서 REST API를 통해 채널 구독 취소

분류에서Dev

API를 통해 YouTube 채널에 메시지 보내기

분류에서Dev

이더넷 포트를 통해 인터넷 연결 공유

분류에서Dev

이벤트에서 형제를 통해 클래스를 순환하는 방법

분류에서Dev

Heroku API를 통해 Dyno 유형 변경

분류에서Dev

Microsoft Teams 채널에 연결된 봇에 대해 REST API를 통해 봇 ID 및 사용자 ID를 얻는 방법

분류에서Dev

GET / POST를 통해 전달 된 데이터 매개 변수에서 데이터 유형을 결정할 수 있습니까?

Related 관련 기사

  1. 1

    'slacker'및 Slack API를 통해 Slack 채널에 "0"게시

  2. 2

    SLACK-채널의 마지막 이미지 읽기-URL을 가져와 Slack 앱을 통해 API로 전송

  3. 3

    MS 봇 빌더를 사용하여 Slack 채널에서 "imBack"유형으로 버튼을 설정하는 방법

  4. 4

    유성에서 이벤트를 통해 정보 보내기

  5. 5

    Python 스크립트를 사용하여 Slack 채널에 이미지 업로드

  6. 6

    Hubot으로 Slack의 특정 채널에 메시지를 보낼 수 없음-SlackRTMError : 채널 ID 없음

  7. 7

    Kotlin Coroutine-채널 전송 이벤트를 동기식으로 유지

  8. 8

    Slack API 초대 봇을 채널에

  9. 9

    Runnable을 통해 이벤트를 수정하는 방법

  10. 10

    AutoFixture를 통해 개체 인스턴스를 채우지 만 일반이 아니라 유형별로 채우기

  11. 11

    AutoFixture를 통해 개체 인스턴스를 채우지 만 일반이 아니라 유형별로 채우기

  12. 12

    JavaScript를 통해 특정 채널의 비디오 목록 가져 오기

  13. 13

    사용자 이름이 아닌 채널 이름을 통해 youTube V3 API를 검색하십니까?

  14. 14

    JSON으로 특정 YouTube 채널에 대한 예정된 라이브 이벤트 피드를 얻는 방법

  15. 15

    HTTP를 통해 제공하는 동안 MIME 유형을 지정해야하는 이유는 무엇입니까?

  16. 16

    매개 변수를 통해 전달 된 널 검사 값 유형

  17. 17

    이벤트 유형 데이터를 기반으로 행을 채우는 방법

  18. 18

    zapier가 slack 이벤트 API를 활성화하기 위해 챌린지 값을 보낼 수 없습니다.

  19. 19

    Chrome 개발자 채널이 더 이상 apt-get 업그레이드를 통해 Chrome을 업그레이드하지 않는 이유는 무엇입니까?

  20. 20

    axios를 통해 API를 연결할 수있는 이유는 무엇입니까?

  21. 21

    OpenVPN 터널을 통해 연결 클라이언트 IP 주소 유지

  22. 22

    브라우저를 통해 mysql에 연결할 수 없지만 PHP로 터미널을 통해 연결할 수없는 이유는 무엇입니까?

  23. 23

    Parse에서 REST API를 통해 채널 구독 취소

  24. 24

    API를 통해 YouTube 채널에 메시지 보내기

  25. 25

    이더넷 포트를 통해 인터넷 연결 공유

  26. 26

    이벤트에서 형제를 통해 클래스를 순환하는 방법

  27. 27

    Heroku API를 통해 Dyno 유형 변경

  28. 28

    Microsoft Teams 채널에 연결된 봇에 대해 REST API를 통해 봇 ID 및 사용자 ID를 얻는 방법

  29. 29

    GET / POST를 통해 전달 된 데이터 매개 변수에서 데이터 유형을 결정할 수 있습니까?

뜨겁다태그

보관