디스코드 자기소개 봇: 멤버 프로필, 닉네임, 부캐를 Discord에 정리하는 법
Discord에 멤버 프로필, 게임 닉네임(IGN), 부캐를 정리하려면 멤버 한 명당 한 행(IGN, 등급, 부캐, Discord 멤버 필드)이 있는 테이블을 만들고 멤버가 슬래시 명령어로 채우게 해요. 그러면 누구든 멤버, IGN, 부캐 이름으로 프로필을 찾아볼 수 있어요. 저희가 만드는 CordBase로 Free 플랜에서 할 수 있어요.
길드는 보통 이 정보를 고정 메시지, 임원 메모, 아무도 열지 않는 스프레드시트에 두고, "Kaelmage 누구 부캐예요?"라는 질문이 매주 채팅에 올라와요. 이 가이드는 목록을 Discord 안에 둬요. 먼저 주의할 점이 하나 있어요. 가입 양식은 없어요. 멤버가 /profile add를 실행하고 채울 옵션을 골라요.
완성하면 이렇게 돼요
add,query,view,update,delete작업이 있는/profile명령어.- 멤버 한 명당 한 행: IGN, Discord 멤버, 등급, 부캐, 역할, 메모.
- 멤버, IGN, 부캐 이름으로 검색.
- 누가 프로필을 추가하고, 수정하고, 삭제할 수 있는지 정하는 권한.
1단계: 테이블 만들기
IGN이나 부캐 열이 있는 기성 템플릿은 없어요. 가장 비슷한 건 멤버 명부인데, 첫 번째 텍스트 열이 시간대이고 row 선택 목록은 그 열로 검색해요. 그래서 이 테이블은 처음부터 만들어요.
- cordbase.gg에서 Discord로 로그인하고 서버를 고른 뒤, 대시보드가 안내하면 봇을 추가해요.
- "Profile"이라는 새 테이블을 만들어요. 명령어 이름은
profile로 채워져요. - 아래 열을 이 순서대로 추가하고, 다 되면 저장해요.
- IGN: 텍스트, 필수. 맨 앞에 두세요.
row옵션은 첫 번째 텍스트 열로 자동 완성되기 때문에, 멤버들이 IGN을 입력해서 프로필을 찾을 수 있어요. - Member: 멤버, 필수. 멤버가 Discord 멤버 선택기에서 자기 자신을 골라요.
- Rank: 선택지. 서버의 등급을 옵션으로 넣어요(예: Officer, Raider, Trial).
- Alts: 텍스트.
Name (Class), Name (Class)처럼 형식 하나를 정해서 계속 지키세요. - Role: 선택지. Tank, Healer, DPS 등 게임에 맞는 역할을 넣어요.
- Notes: 텍스트.
query 결과에는 앞의 네 열만 나오고 나중에 추가한 열은 맨 뒤에 붙기 때문에 순서가 중요해요. 테이블을 만든 뒤에는 열의 키와 유형을 바꿀 수 없지만, 열을 추가하거나 표시 이름을 바꿀 수는 있어요(테이블 문서 참고).
2단계: 권한 설정하기
권한은 테이블 수정 페이지에 있으니, 저장한 뒤 그 페이지를 열어요. 테이블에 역할을 하나도 지정하지 않으면 모든 멤버가 삭제를 포함해 모든 작업을 할 수 있어요. 역할은 이렇게 설정해요.
- 모든 멤버가 가진 역할(예:
@Member.@everyone은 고를 수 없어요)에 쓰기 권한을 줘요. 그러면 멤버가add와update를 할 수 있어요. - 임원 역할에는 관리 권한을 줘요.
delete가 추가돼요. - 데이터 입력을 임원만 하게 하려면 멤버에게 읽기, 임원에게 쓰기 권한을 줘요.
역할을 하나라도 지정하면, 지정된 역할이 없는 멤버는 테이블을 아예 쓸 수 없어요. Discord의 ‘관리자’ 권한이 있는 사람은 항상 모든 권한을 가져요.
쓰기 권한의 의미를 분명히 알아 두세요. 자기 행만이 아니라 모든 행에 적용돼요. 쓰기 권한이 있으면 누구의 프로필이든 수정할 수 있고, 한 멤버가 프로필을 두 개 추가하는 것도 막을 수 없어요.
3단계: 멤버가 프로필 추가하기
/profile add ign:Kaelith member:@Mara rank:Raider role:Healer alts:Kaelmage (Mage), Kaelstab (Rogue)
Discord는 필수 옵션(IGN과 Member)을 먼저 묻고, 멤버는 그다음 원하는 선택 옵션을 추가해요. 필드를 하나씩 안내해 주는 기능은 없으니 정확한 명령어를 채널에 고정해 두세요. 프로필을 바꾸려면 row 옵션에 입력을 시작하고 목록에서 골라요.
/profile update row:Kaelith alts:Kaelmage (Mage), Kaelstab (Rogue), Kaeltank (Warrior)
update는 값 전체를 바꿔 넣기 때문에, 새 부캐를 포함한 부캐 목록 전체를 다시 입력하세요. 증가와 감소 모드는 숫자 열에만 있고, 이 테이블에는 숫자 열이 없어요.
4단계: 사람 찾기
/profile view row:Kaelith는 모든 열과 함께 행을 만든 사람과 마지막 수정 시각을 보여 줘요./profile query member:@Mara는 Discord 멤버의 프로필을 찾아요./profile query alts:Kaelmage는 부캐 주인을 찾아요. 텍스트 필터는 대소문자와 상관없이 그 텍스트가 들어간 행을 모두 찾아요./profile query rank:Officer limit:25는 임원을 최대 25명까지 보여 줘요. 필터는 함께 쓸 수 있어서rank:Raider role:Healer도 돼요.
query는 최신 행부터 기본 10개, 최대 25개를 보여 줘요. 답장은 채널에 올라가니, 다른 사람이 봐도 되는 곳에서 검색하세요.
변형: 캐릭터 하나당 한 행
부캐마다 클래스, 레벨, 장비를 따로 담고 싶다면 테이블을 캐릭터 하나당 한 행으로 만들어요. IGN, Member, Class, 본캐 여부를 나타내는 Main 예/아니요 열을 넣어요. 그러면 부캐 추가는 그냥 add이고, /profile query member:@Mara limit:25는 Mara가 플레이하는 모든 캐릭터를 보여 줘요. 대신 행을 많이 써요. Free 테이블은 100행까지이고, 부캐가 그만큼 행을 차지해요.
다른 도구가 더 잘 맞는 경우
정렬, 수식, 임원의 일괄 수정이 필요하다면 스프레드시트가 더 나아요. CordBase에는 CSV 가져오기도 Google Sheets 동기화도 없어요.
멤버마다 게시물 하나를 두는 포럼 채널은 스크린샷과 긴 소개글처럼 검색보다는 읽는 프로필에 잘 맞아요. 테이블은 이미지가 아니라 짧은 텍스트를 담아요.
아무도 입력하지 않아도 게임에서 캐릭터 정보를 가져와 최신 상태로 유지하고 싶다면, 게임에서 길드 명단을 읽어 오는 도구를 쓰세요. CordBase는 게임 데이터를 읽지 않고 API도 없어요.
알아 두면 좋은 한도
- Free: 테이블 2개, 테이블당 행 100개. Pro($8/월)는 테이블 무제한, 테이블당 행 10,000개로 늘려 주고 저장된 보기와 일괄 수정을 더해요.
- 테이블당 열은 최대 25개예요. 이 테이블에는 숫자 열이 없어서
leaderboard작업이 없어요. 원한다면 level 같은 숫자 열을 추가하세요. - 멤버용 가입 양식이나 단계별 안내가 없고, IGN이 실제로 존재하는지 또는 그 멤버의 것인지 확인하지 않아요.
- 어떤 멤버든
/delete-my-data를 실행하면 모든 서버에서 봇으로 자기가 만든 행을 삭제할 수 있어요.
자주 묻는 질문
봇이 멤버에게 필드를 하나씩 안내해 줄 수 있나요?
아니요. 양식이나 단계별 안내는 없어요. 멤버가 /profile add를 실행하면 Discord가 열마다 옵션 하나씩을 보여 줘요. 필수로 표시한 열(여기서는 IGN과 Member)만 채우면 되고, 나머지는 건너뛸 수 있어요.
멤버가 자기 프로필만, 또는 한 사람당 프로필 하나만 수정하게 제한할 수 있나요?
권한으로는 안 돼요. 권한은 테이블 전체에 적용되기 때문에 쓰기 권한이 있으면 모든 행을 수정할 수 있고, 한 멤버가 프로필을 여러 개 추가할 수도 있어요. 엄격하게 관리하고 싶다면 멤버에게 읽기, 임원에게 쓰기 권한을 주고, /profile view로 행을 누가 만들었는지 확인하세요.
멤버들은 부캐 주인을 어떻게 찾나요?
/profile query alts:<name>을 실행하세요. 이 필터는 대소문자와 상관없이 alts 텍스트에 그 이름이 들어간 프로필을 찾아요. CordBase는 게임에서 데이터를 읽지 않기 때문에, 누군가 alts 열에 직접 입력한 부캐만 찾을 수 있어요.