0. 이 글의 전제 Discord 봇 개발에서 가장 까다로운 건 기능 구현이 아니라 상호작용(Interaction) 처리다.
Discord는 룰이 빡세다. 3초 내 응답 필수 한 번 응답한 Interaction에 다시 응답 불가 이걸 모르고 만들면 “가끔 봇이 멈춘다”는 괴상한 현상을 겪게 된다. 1. 핵심 개념(이거 모르면 계속 터짐) 1) reply / deferReply / editReply 차이 interaction.reply() : 3초 내 즉시 응답 interaction.deferReply() : “나 지금 처리 중” 선언 (15분 내 editReply) interaction.editReply() : 지연 응답 수정 interaction.showModal() : 모달 표시 여기서 함정은: 핸들러가 깊어질수록 누가 reply 했는지 기억이 안 난다 그래서 중복 호출이 난다 2.
오류 1) 중복 deferReply 호출 나도 이걸로 한참 헤맸다. 상황 handleButton에...
원문 링크 : [3편] Discord Shop Bot - 개발에서 제일 많이 터지는 오류 TOP: 3초 제한, deferReply 중복, Interaction already replied