디스코드 API에서 지원하는 이벤트들을 정리해 보았습니다.
No | 이벤트명 | 설명 | 추가정보 |
---|---|---|---|
1 | InteractionCreate | 상호작용(명령어, 버튼, 모달제출 등)이 발생했을 때 발생 | |
2 | MessageCreate | 새로운 메시지가 채널에 게시되면 발생 | |
3 | MessageDelete | 매시지가 삭제될 때 발생 | |
4 | MessageUpdate | 메시지가 수정될 때 발생 | |
5 | MessageReactionAdd | 메시지의 반응이 추가될 때 발생 | |
6 | MessageReactionRemove | 메시지의 반응이 삭제될 때 발생 | |
7 | MessageReactionRemoveAll | 메시지의 모든 반응이 한 번에 삭제될 때 발생 | |
8 | MessageReactionRemoveEmoji | 메시지의 특정 이모지를 사용한 반응이 삭제될 때 발생 | |
9 | ClientReady | 봇이 로그인에 성공하면 발생 | |
10 | CacheSweep | 클라이언트의 캐시에서 만료된 항목들이 제거될 때 발생 | |
11 | ChannelCreate | 채널이 생성될 때 발생 | |
12 | ChannelDelete | 채널이 삭제될 때 발생 | |
13 | ChannelPinsUpdate | 채널에 고정된 메시지가 추가/제거/수정 될 때 발생 | |
14 | ChannelUpdate | 채널이 수정될 때 발생 | |
15 | Debug | 디버그(debug) 정보를 출력할 때 발생 | |
16 | Error | 에러(error)가 발생했을 때 발생 | |
17 | GuildBanAdd | 서버의 멤버가 차단되었을 때 발생 | |
18 | GuildBanRemove | 서버의 차단 멤버가 삭제됐을 때 발생 | |
19 | GuildCreate | 서버가 생성됐을 때 발생 | |
20 | GuildDelete | 서버가 삭제됐을 때 발생 | |
21 | GuildEmojiCreate | 서버에 이모지가 추가되었을 때 발생 | |
22 | GuildEmojiDelete | 서버에 이모지가 삭제되었을 때 발생 | |
23 | GuildEmojiUpdate | 서버에 이모지가 수정되었을 때 발생 | |
24 | GuildIntegrationsUpdate | 서버에 통합 업데이트가 수행되었을 때 발생 | |
25 | GuildMemberAdd | 서버에 새로운 사용자가 들어왔을 때 발생 | |
26 | GuildMemberAvailable | 서버에 사용자가 온라인 상태가 되었을 때 발생 | |
27 | GuildMemberRemove | 서버에 사용자가 이탈할 때 발생 | |
28 | GuildMembersChunk | 서버(길드)의 멤버 목록이 업데이트될 때 발생 | → 서버에 속한 멤버 수가 매우 많을 때(수천 명 이상) 서버의 멤버 목록을 한 번에 가져오는 것이 불가능하므로 Discord 클라이언트가 멤버 목록을 여러 개의 작은 덩어리(chunk)로 분할하여 가져오게 됩니다. 이 때, 한 개의 덩어리(chunk)가 전부 가져와졌을 때 GuildMembersChunk 이벤트가 발생합니다. |
29 | GuildMemberUpdate | 서버 멤버의 닉네임, 역할, 상태 등이 변경될 때 발생 | |
30 | GuildRoleCreate | 서버에 역할이 추가될 때 발생 | |
31 | GuildRoleDelete | 서버에 역할이 삭제될 때 발생 | |
32 | GuildRoleUpdate | 서버에 역할이 수정될 때 발생 | |
33 | GuildScheduledEventCreate | 서버에서 일정을 생성할 때 발생 | |
34 | GuildScheduledEventDelete | 서버에서 일정이 삭제될 때 발생 | |
35 | GuildScheduledEventUpdate | 서버의 일정이 수정될 때 발생 | |
36 | GuildScheduledEventUserAdd | 서버의 일정에 멤버가 추가될 때 발생 | |
37 | GuildScheduledEventUserRemove | 서버의 일정에 멤버가 삭제될 때 발생 | |
38 | GuildScheduledEventUserRemove | 서버에서 스티커가 게시될 때 발생 | |
39 | GuildStickerDelete | 서버에서 스티커가 삭제될 때 발생 | |
40 | GuildStickerUpdate | 서버에서 스티커가 수정될 때 발생 | |
41 | GuildUnavailable | 서버가 사용 불가능해졌을 때 발생 (연결이 끊어지거나, 서버가 삭제되거나) | |
42 | GuildUpdate | 서버가 수정될 때 발생 | |
43 | Invalidated | 클라이언트의 캐시가 무효화될 때 발생 | |
44 | InviteCreate | 디스코드에서 초대링크가 생성되었을 때 발생 | |
45 | InviteDelete | 디스코드에서 초대링크가 삭제되었을 때 발생 | |
46 | PresenceUpdate | 디스코드에서 사용자의 상태가 업데이트될 때 발생 (온라인여부, 게임플레이 여부, 사용자 지정 상태 메시지 등) | |
47 | ShardDisconnect | 샤드(Shard)가 연결을 끊었을 때 발생 | → Discord 봇은 여러 대의 서버에서 작동하기 때문에, 각 서버마다 샤드가 할당됩니다. 샤드는 각 서버에 대한 연결을 관리하며, 연결이 끊어졌을 때 ShardDisconnect 이벤트가 발생합니다. |
48 | ShardError | 샤드(Shard)에 에러가 발생했을 때 발생 | |
49 | ShardReady | 샤드(Shard)가 준비되었을 때 발생 | → 각 서버마다 샤드가 할당됩니다. 샤드는 각 서버에 대한 연결을 관리하며, 모든 샤드가 준비되었을 때 ShardReady 이벤트가 발생합니다. |
50 | ShardReconnecting | 샤드가 다시 연결을 시도하기 시작했을때 발생 | |
51 | ShardResume | 샤드가 재연결되었을 때 발생 | |
52 | StageInstanceCreate | 스테이지가 생성되었을 때 발생 | |
53 | StageInstanceDelete | 스테이지가 삭제되었을 때 발생 | |
54 | StageInstanceUpdate | 스테이지가 업데이트 되었을 때 발생 | |
55 | ThreadCreate | 쓰레드가 생성되었을 때 발생 | |
56 | ThreadDelete | 쓰레드가 삭제되었을 때 발생 | |
57 | ThreadListSync | 쓰레드 채널의 목록이 서버에 동기화될 때 발생 | |
58 | ThreadMembersUpdate | 쓰레드 멤버들 | |
59 | ThreadMemberUpdate | 쓰레드 멤버가 수정되었을 때 발생 | |
60 | ThreadUpdate | 쓰레드가 수정되었을 때 발생 | |
61 | TypingStart | 사용자가 채팅을 입력하기 시작할 때 발생 | |
62 | UserUpdate | 유저 정보가 수정되었을 때 발생 | |
63 | VoiceServerUpdate | 음성 채널에서 이벤트가 발생할 때 마다 발생 | |
64 | VoiceStateUpdate | 사용자의 음성상태 정보가 변경될 때 마다 발생 (음성채널참가/이탈 등) | |
65 | Warn | 클라이언트 객체에서 경고메시지를 수신할 때마다 발생 | |
66 | WebhooksUpdate | 디스코드 서버에서 웹훅이 생성, 수정, 삭제등의 변경사항이 있을 때 발생 | → 웹훅 : 웹 서비스에서 다른 서비스로 데이터를 전송하는 방법 중 하나입니다. 일반적으로 HTTP 요청을 사용하여 데이터를 보내며, 다른 서비스에서 이 데이터를 사용하거나 처리할 수 있습니다. |