Discord 연결하기
Mocco는 자체 Discord 봇으로 게시합니다. 서버에 봇을 한 번 설치한 다음, 봇이 게시할 채널을 고릅니다. Mocco 워크스페이스의 소유자와 관리자만 이 작업을 할 수 있습니다.

1. 봇 설치
Mocco에서 Notifications를 열고 Channels 탭에 머뭅니다.
Connect Discord를 클릭합니다. Mocco가 Discord로 이동시킵니다.
Discord에서 서버를 고르고 봇을 승인합니다. Discord는 직접 관리할 수 있는 서버에만 봇을 추가하게 해 줍니다. 서버가 목록에 없으면 서버 관리자에게 요청하세요.
Discord가 Mocco로 되돌려 보냅니다. 이제 서버가 Discord servers 아래에 나타납니다.
봇은 View Channel, Send Messages, Embed Links, Read Message History 네 가지 권한을 요청합니다. Mocco는 알림마다 임베드로 게시하므로 네 가지가 모두 필요합니다.
Mocco가 Discord를 사용할 수 없다고 표시하면, 사용 중인 Mocco 배포에 Discord가 아직 설정되지 않은 것입니다. 배포를 운영하는 사람에게 문의하세요.
Discord에서 돌아왔을 때 오류가 보이면 설치가 끝나지 않은 것입니다. 설치를 취소했거나 링크가 만든 지 10분이 지났습니다. Connect Discord를 다시 클릭하세요.
2. 채널 추가
Add channel을 클릭합니다.
Server를 고른 다음 Channel을 고릅니다. 목록에는 봇이 지금 볼 수 있는 텍스트 채널과 공지 채널이 표시됩니다.
원하면 Label을 지정합니다. 기본값은
#alerts같은 채널 이름입니다.Add channel을 클릭합니다.
Mocco가 Mocco is connected라는 테스트 메시지를 게시하고 결과를 바로 보여 줍니다.
Test message sent: 채널이 동작합니다. 다음으로 규칙을 추가하세요.
Discord가 돌려준 오류: 봇이 아직 그 채널에 게시할 수 없습니다. 메시지에 Discord의 응답이 표시됩니다. 아래에 설명한 대로 해결한 다음 Re-enable을 클릭하세요.
비공개 채널에 봇 접근 권한 주기
비공개 채널은 접근 권한을 받지 않은 모든 사람에게 숨겨지며, Mocco 봇도 예외가 아닙니다. 그래서 Channel 목록에 채널이 없거나, 테스트 메시지가 Missing Access(코드 50001) 또는 권한 부족 오류(코드 50013)로 실패할 수 있습니다.
Discord에서 다음을 합니다.
채널을 마우스 오른쪽 버튼으로 클릭하고 Edit Channel, Permissions를 차례로 선택합니다.
Add members or roles를 클릭하고 Mocco 봇(또는 봇의 역할)을 추가합니다.
View Channel, Send Messages, Embed Links, Read Message History를 허용합니다.
변경 사항을 저장합니다.
Mocco로 돌아와 채널에서 Re-enable을 클릭합니다. 이전에 목록에 없던 채널이면 새로 추가합니다.
채널 권한은 서버 역할보다 우선합니다. 봇의 역할에 메시지 전송 권한이 있어도 채널에서 이를 거부하면 봇은 그 채널에 게시할 수 없습니다. View Channel을 거부하면 그 채널의 나머지 권한도 모두 막힙니다.
비활성화된 채널
봇이 채널에 접근할 수 없다고 Discord가 알려 주면(접근 권한을 잃었거나 채널이 삭제된 경우), Mocco는 해당 채널을 Disabled로 표시하고 Discord가 알려 준 이유를 보여 준 뒤 게시를 멈춥니다. 원인을 해결하고 Re-enable을 클릭하기 전까지는 비활성화된 채널로 아무것도 전송되지 않습니다. 그 뒤 Mocco가 채널을 다시 확인하고 새 테스트 메시지를 게시합니다. 봇이 여전히 게시하지 못하면 채널은 새 이유와 함께 비활성화된 상태로 남습니다.

봇이 서버에서 제거되었거나, 제거되었다가 다시 추가된 경우에는 Mocco가 Discord를 다시 연결하라고 안내합니다. Connect Discord를 클릭한 다음 채널을 다시 추가하세요.
3. 채널별로 받을 이벤트 고르기
채널은 규칙이 요청한 이벤트만 받습니다. 각 채널 카드에는 Rules 섹션이 있습니다.
프리셋 적용. 프리셋을 고르고 Apply를 클릭합니다.
| 프리셋 | 추가되는 규칙 |
|---|---|
| Mocco | gate.pending, gate.resumed, gate.rejected, run.failed |
| Sentry | sentry.issue.created |
| Vercel | 프로덕션에 한정한 vercel.deployment.succeeded, vercel.deployment.error, vercel.deployment.canceled |
| GitHub | 커밋이 있는 github.push, 열림·다시 열림·병합·닫힘 상태의 pull request, 열림·다시 열림·닫힘 상태의 이슈, github.release.published, github.workflow_run.failed |
Sentry, Vercel, GitHub 프리셋에서는 소스도 고를 수 있으며, 그러면 규칙이 그 소스의 이벤트만 받습니다. 프리셋을 두 번 적용해도 새로 추가되는 것은 없습니다.
규칙을 직접 추가하려면 Add rule을 사용합니다.
Event type:
vercel.deployment.error같은 정확한 타입이나,github.pull_request.*,gate.*처럼.*로 끝나는 이벤트 계열 전체를 지정합니다.Only from source(선택): 해당 소스의 이벤트만 받습니다.
Filter(선택): 한 줄에
key=value하나씩 씁니다. 모든 줄이 이벤트와 정확히 일치해야 합니다. 예를 들어target=production이나branch=main입니다. 필터로 쓸 수 있는 키는 각 소스 페이지와 Mocco 이벤트에 나와 있습니다.
규칙을 삭제하려면 규칙 옆의 Remove를 클릭합니다. 채널을 삭제하면 그 규칙도 함께 삭제되며, 과거 활동 기록은 계속 볼 수 있습니다.
다음 단계
소스를 추가하세요. Sentry, Vercel, GitHub가 있습니다. 메시지가 도착하지 않으면 Activity를 열고 문제 해결을 참고하세요.