Discord의 이벤트리스너

태태·2023년 5월 25일
0

디스코드 API에서 지원하는 이벤트들을 정리해 보았습니다.

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

0개의 댓글