Slack에서 chat.postMessage
을 사용하면 각 사용자에게 개별적으로 메시지를 보낼 수 있지만 전체 팀 (400 명의 회원)에게 한 번에 직접 메시지를 보내려면 어떻게해야할까요?Slack API를 사용하여 모든 사용자에게 동시에 메시지를 보낼 수 있습니까?
답변
안녕하세요. 채널 400 개가 모두 필요하므로 현재 400 명의 개별 사용자에게 보낼 수 없습니다. 채널에 메시지를 보내려면 postMessage 메소드에 채널 인수를 추가하기 만하면됩니다.
현재 일반 채널에 있지만 일반 채널에 게시하는 대신 사용자에게 개별적으로 메시지를 보내고 싶습니다. 그래서 거기에서 무엇을해야합니까? – thenewcoder
Simple Java를 사용하는 경우 ArrayList와 같은 목록에 모든 사용자를 추가 한 다음 for 루프를 작성하여 하나를 읽고 보내고 반복합니다. – Kumar
그 또한 파이썬에서 할 수 있을까요? – thenewcoder
chat.postMessage
의 더 "대량"변종이 없습니다. 따라서 기본적으로 대량 메일 발신자를 작성해야합니다. 사용자 목록을 반복하고 각 사용자에게 메시지를 보내면 쉽게 수행 할 수 있습니다.
users.list
으로 모든 사용자의 목록을 가져올 수 있습니다.
- Slackbot 채널 : 채널로 각 사용자의 ID를 사용하여
chat.postMessage
로의 메시지를 각 보내기 그런 다음 직접 메시지를 보내는 두 가지 옵션이 있습니다. - 응용 프로그램 채널 : 에 대한
im.open
의 IM 채널 ID를 가져온 다음chat.postMessage
채널로 사용하십시오. 이것은 봇 사용자가 있고 봇 사용자로부터 메시지를 보내는 경우에만 작동합니다.
요청 제한은 초당 1 메시지입니다.
Slack과 앱간에 많은 요청에 대해 3 초의 요청 시간 제한이 있습니다. (예 : 슬래시 명령에 대한 직접 응답). 따라서 봇이 많은 메시지를 보내야하는 경우 비동기 적으로 보낼 수있는 접근 방식을 사용하고자합니다.
나를 위해 잘 작동하는 한 가지 해결책은 내 봇에서 보낸 모든 슬랙 메시지에 대해 메시징 큐를 사용하는 것입니다.
"사용자 목록을 통한 반복"이란 말은'im.open'이나'im.list'를 사용한다는 뜻입니까? – thenewcoder
내 대답 –
@thenewcoder를 업데이트 할 수 있습니다. 대화방에서 이야기 할 수 있습니다. https://chat.stackoverflow.com/rooms/161833/slack-api –
'users.list'를 사용하여 모든 팀 구성원의 목록을 가져온 다음 각각 하나의 메시지를 루프와'chat.postMessage' ...를 사용하여 보내거나 더 나은 방법으로 모든 구성원을'channels.invite '메시지를 채널로 보냅니다. – kindall
음, 채널에 메시지를 보내지 않고 사용자에게 개별적으로 메시지를 보내야합니다. 나는'chat.postMessage'를 400 번해야할까요? – thenewcoder
물론입니다. 두 번, 400 번, 같은 양의 코드입니다. – kindall