트리거 — 언제 실행되나
트리거는 워크플로를 깨우는 사건이에요. 한 워크플로에 하나만 놓을 수 있어요.
편집기 팔레트에 보이는 이름은 영어예요. 아래 표에 그 이름을 같이 적어 뒀으니 화면에서 찾을 때 써 주세요.
[!팁] 급하신가요? 대부분의 자동화는 Message Create(메시지가 올라왔을 때)나 Member Join(멤버가 들어왔을 때) 둘 중 하나로 시작해요.
메시지
| 트리거 | 언제 | 좁힐 수 있는 것 |
|---|---|---|
| Message Create | 새 메시지가 올라왔을 때 | 채널 ID, 봇 무시, 키워드 |
| Message Update | 메시지가 고쳐졌을 때 | 채널 ID, 봇 무시, 키워드, 고치기 전·후 중 어디를 볼지 |
| Message Delete | 메시지가 지워졌을 때 | 채널 ID, 봇 무시 |
| Keyword Mention | 메시지에 정한 낱말이 들어 있을 때 | 키워드(꼭 적어야 해요) |
| Mentioned | 메시지가 누군가를 멘션했을 때 | 특정 유저 ID |
| Role Mentioned | 메시지가 역할을 멘션했을 때 | 특정 역할 ID |
멤버
| 트리거 | 언제 | 좁힐 수 있는 것 |
|---|---|---|
| Member Join | 멤버가 서버에 들어왔을 때 | 없어요 |
| Member Leave | 멤버가 서버를 나갔을 때 | 갖고 있던 역할 ID |
| Member Update | 역할이나 별명이 바뀌었을 때 | 추가된 역할, 제거된 역할, 별명이 바뀌었는지 |
버튼과 명령어
| 트리거 | 언제 | 좁힐 수 있는 것 |
|---|---|---|
| Button Click | 버튼을 눌렀을 때 | custom id, custom id 앞부분 |
| Select Menu | 선택 메뉴를 썼을 때 | custom id, custom id 앞부분, 메뉴 종류 |
| Modal Submit | 입력 창을 제출했을 때 | custom id, custom id 앞부분 |
| Slash Command | 슬래시 명령어를 썼을 때 | 명령어 이름, 이름 앞부분 |
| Context Menu | 우클릭 메뉴 명령어를 썼을 때 | 명령어 이름, 대상 종류 |
반응과 음성
| 트리거 | 언제 | 좁힐 수 있는 것 |
|---|---|---|
| Reaction Add | 반응이 붙었을 때 | 이모지, 채널 ID, 메시지 ID, 봇 무시 |
| Reaction Remove | 반응이 떨어졌을 때 | 이모지, 채널 ID, 메시지 ID |
| Voice State Update | 음성 채널에 들어오거나 나가거나 옮겼을 때 | 상태(join·leave·move), 채널 ID |
서버 구조
| 트리거 | 언제 | 좁힐 수 있는 것 |
|---|---|---|
| Channel Create · Update · Delete | 채널이 생기거나 바뀌거나 사라졌을 때 | 채널 종류, 카테고리 ID |
| Thread Create · Update · Delete | 스레드가 생기거나 바뀌거나 사라졌을 때 | 부모 채널 ID, 보관 여부(Update만) |
| Role Create · Update · Delete | 역할이 생기거나 바뀌거나 사라졌을 때 | 역할 ID |
Event Match — 다른 기능이 보낸 신호 받기
Event Match 는 이름이나 무늬로 신호를 골라 받는 트리거예요. 이름을 그대로 적거나, 별표를 섞은 무늬를 적을 수 있어요.
받을 수 있는 신호는 세 갈래예요.
| 앞부분 | 어디서 오나 |
|---|---|
| custom. | 맞춤 명령어가 보내는 신호예요. 이름은 우리가 정해요 |
| ticket. | 티켓이 열리면 ticket.created, 닫히면 ticket.closed 가 와요 |
| discord. | 위 표의 Discord 사건들이에요. 전용 트리거로 받는 편이 편해요 |
이 세 갈래 밖의 이름은 저장할 때 거절돼요. 예전에는 audit. 로 시작하는 이름도 받을 수 있었는데 지금은 막혀 있어요. 다른 기능이 자기 기록용으로 남긴 내용까지 워크플로가 통째로 읽게 되기 때문이에요.
[!참고] custom. 신호는 이렇게 만들어요 맞춤 명령어에 자동화 이벤트를 보내는 블록이 있어요. 거기서 이름을 정해 신호를 쏘고, 여기서 Event Match 로 받으면 명령어와 워크플로가 이어져요.
사건은 났는데 안 걸릴 때
| 이런가요 | 이유예요 |
|---|---|
| 봇이 쓴 메시지에는 안 걸려요 | 메시지 트리거와 Reaction Add 는 봇 무시가 처음부터 켜져 있어요. 필요하면 꺼 주세요 |
| 한 채널에서만 걸려요 | 채널 ID를 적어 두면 그 채널만 봐요. 전체에서 받고 싶으면 비워 두세요 |
| Keyword Mention 이 아무 때도 안 걸려요 | 키워드가 비어 있으면 아예 걸리지 않아요. 대소문자는 가리지 않아요 |
| YouTube · Twitch · 치지직 알림 트리거가 저장되지 않아요 | 만들기 창 목록에만 남아 있는 이름이에요. 지금은 고를 수 없어요 |
| 예전에 만든 알림 자동화가 어느 날 꺼져 있어요 | 위 세 트리거로 만들어 둔 워크플로는 한 번 실행 기록을 남기고 스스로 꺼져요. 매 사건마다 오류를 쌓지 않으려는 거예요 |
| Event Match 에 audit. 을 적었더니 저장이 안 돼요 | custom. · ticket. · discord. 세 갈래만 받을 수 있어요 |