디스코드 봇 인증디스코드 봇으로
디스코드 봇으로
휴대폰 인증을 받아요.
인증한 사람에게만 역할을 주고, 부계정은 문 앞에서 돌려보내요.
초대 링크만으로는 부계정을 막기 어려워요.
디스코드 계정은 이메일 하나면 새로 만들 수 있어요. 차단한 사람이 몇 분 뒤에 다른 계정으로 돌아오거나, 한 사람이 여러 계정으로 이벤트에 참여하는 일이 생겨요.
휴대폰 번호를 확인해 두면 계정이 아니라 번호를 기준으로 사람을 셀 수 있어요. 번호 하나에 역할 하나만 주는 규칙을 두면 부계정은 자연스럽게 걸러져요.
봇에서는 이렇게 흘러가요.
- 사용자가 슬래시 명령으로 인증을 시작해요.
- 봇이 인증을 만들고, 보낼 문자와 받는 번호를 사용자에게만 보이는 답장으로 안내해요.
- 사용자가 자기 휴대폰의 문자 앱에서 그 내용을 보내요.
- 웹훅으로 결과가 도착하면 봇이 인증 역할을 부여해요.
인증번호를 채널에 붙여넣지 않아요.
사용자가 보내는 방식이라 숫자를 옮겨 적는 단계가 없고, 남의 인증번호를 가로챌 여지도 없어요.
코드로 보면 이렇게 생겼어요.
인증을 만들 때 Discord 사용자 ID를 함께 담아 두면, 웹훅 이벤트에 그대로 돌아와요. 어떤 사용자의 인증인지 따로 저장할 필요가 없어요.
Discord 봇 인증
// 사용자가 /인증 을 실행하면 비공개로 안내해요.
const verification = await sendwich.create({ mode: 'discover', client_reference: interaction.user.id });
await interaction.reply({
ephemeral: true,
content: `${verification.destination} 번호로 "${verification.sms_text}" 를 보내 주세요.`,
});
// 웹훅으로 결과가 오면 역할을 부여해요.
if (event.status === 'verified') {
const member = await guild.members.fetch(event.client_reference);
await member.roles.add(VERIFIED_ROLE_ID);
}실행 가능한 전체 예제는 문서에 있어요. 슬래시 명령 등록부터 웹훅 서명 검증까지 담겨 있어요.
Discord 봇 예제 문서확인된 번호는 봇 서버로만 가요.
인증 결과는 등록한 웹훅 주소로 전달돼요. 디스코드 채널에는 아무것도 표시되지 않고, 번호를 저장할지 중복 확인에만 쓰고 버릴지는 봇에서 정하면 돼요.
sendwich가 확인하는 것은 번호의 점유예요. 실명이나 생년월일은 수집하지 않고 CI·DI도 발급하지 않아요.
웹훅 문서 보기디스코드 봇에서 휴대폰 인증을 어떻게 받나요?
봇이 sendwich API로 인증을 만들면 보낼 문자와 받는 번호가 돌아와요. 그 내용을 사용자에게만 보이는 답장으로 안내하고, 사용자가 휴대폰에서 문자를 보내면 웹훅으로 결과가 도착해요. 인증이 끝난 사용자에게 역할을 부여하면 돼요.
어떤 사용자가 인증했는지 어떻게 연결하나요?
인증을 만들 때 client_reference에 Discord 사용자 ID를 넣어 두면, 웹훅 이벤트에 그대로 담겨서 돌아와요. 서버에서 따로 매핑 테이블을 만들지 않아도 어떤 사용자의 인증인지 바로 알 수 있어요.
휴대폰 번호가 서버의 다른 사람에게 보이지 않나요?
인증 안내는 사용자에게만 보이는 답장으로 보내면 돼요. 확인된 번호는 봇 서버로만 전달되고, 디스코드 채널에 표시되지 않아요. 번호를 저장할지, 중복 확인에만 쓰고 버릴지는 봇에서 정하면 돼요.
봇 하나로 여러 서버에서 쓸 수 있나요?
네, API 키는 프로젝트 단위라서 봇이 들어간 서버 수와 무관해요. 어느 서버의 인증인지 구분하려면 client_reference에 서버 ID를 함께 담아 두면 돼요.
디스코드 봇 인증도 무료인가요?
Free 요금제에서 인증 창과 API 직접 연동, 웹훅을 모두 사용할 수 있어요. 월 기본료와 API 호출 건당 요금은 0원이고, 인증마다 발송 비용이 붙지 않아요.
첫 인증부터, 부담 없이.
지금 무료로 시작해요.
카드 등록 없이 가입하고, 인증 창을 연결해 보세요.
