전체 글

디스코드 현상금 봇: 모집 중·진행 중·완료 상태로 현상금 게시판 운영하기

CordBase 팀

가장 간단한 디스코드 현상금 봇은 제목, 보상, 그리고 Open(모집 중), Claimed(진행 중), Completed(완료) 중 하나인 상태가 있는 테이블에, 일을 맡은 사람을 적는 멤버 열 하나를 더한 거예요. 저희가 만드는 CordBase는 이 구성을 현상금 게시판 템플릿으로 제공하고, 멤버들은 고정 메시지를 고치는 대신 슬래시 명령어로 현상금을 올리고, 맡고, 찾아봐요.

오늘 바로 붙여 넣을 게시판만 필요한가요? 무료 현상금 게시판 템플릿 생성기가 모집 중, 진행 중, 완료로 나눈 게시판을 만들어 줘요. 이 가이드의 나머지는 슬래시 명령어로 검색하고 수정할 수 있는 테이블에 현상금을 보관하는 방법이에요.

같은 구성은 커미션, 구인 게시판, 요청 대기열에도 쓸 수 있어요. 한계도 있어요. 수락 버튼, 알림, 결제가 없어요. 이 부분과 대신 쓸 만한 도구는 아래에서 다뤄요.

완성하면 이렇게 돼요

  • add, query, view, update, leaderboard 작업이 있는 /bounty-board 명령어.
  • 현상금 하나당 한 행: 제목, 설명, 보상(숫자), 상태, 담당자(멤버 열). 흔히 필요한 사용자 이름, 목표, 보상, 상태를 모두 담아요.
  • 누가 현상금을 보고, 올리고, 바꿀 수 있는지 정하는 역할 권한.
  • 누구나 명령어 하나로 실행할 수 있는 모집 중 현상금 검색.

1단계: 템플릿 설치하기

  1. cordbase.gg에서 Discord로 로그인하고 서버를 고른 뒤, 대시보드가 안내하면 봇을 추가해요.
  2. 현상금 게시판 템플릿을 열고 ‘이 템플릿 사용하기’를 클릭해요. 고른 서버에서 서버 관리하기 권한이 있어야 해요.
  3. 테이블에는 다섯 열이 들어 있어요. Title(텍스트, 필수), Description(텍스트), Reward(숫자, 필수), Status(선택지: Open, Claimed, Completed, 필수), Assigned To(멤버).

템플릿은 Closed가 아니라 Completed를 써요. Closed를 원한다면 아무것도 올리기 전에 테이블 수정 페이지를 열고 Status 선택지를 바꾸세요. 먼저 저장된 행은 예전 텍스트를 유지하기 때문에 이름을 바꾼 선택지와 일치하지 않아요. 이 테이블은 Free 플랜의 테이블 2개 중 하나로 계산돼요. 설치 후 무엇을 바꿀 수 있는지는 템플릿 문서를 참고하세요.

2단계: 누가 올리고, 맡고, 닫을지 정하기

권한은 테이블마다 세 단계로 정해요. 읽기는 query, view, leaderboard를 허용해요. 쓰기는 add와 update를 더해요. 관리는 delete와 일괄 작업을 더해요. 역할을 하나도 지정하지 않으면 모든 멤버가 삭제를 포함해 모든 명령어를 실행할 수 있어요.

무난한 설정은 이래요.

  • 모든 멤버가 가진 역할(예: @Member)에 읽기 권한을 줘요.
  • 스태프 역할에 쓰기 권한을 줘서 현상금을 올릴 수 있게 해요.
  • 관리 권한은 오래된 현상금을 지우는 사람에게만 줘요.

이 설정으로 할 수 없는 일도 알아 두세요. 현상금을 맡는 건 update라서 현상금을 올리는 것과 같은 권한이고, 모든 행에 적용돼요. 멤버가 현상금을 맡게 하려면 모든 현상금을 올리고 수정할 수 있게도 해야 해요. Assigned To가 명령어를 실행한 사람인지 확인하는 기능도 없어요. 선택지는 이래요.

  • 스태프만 변경. 멤버가 채팅으로 요청하면 스태프가 update를 실행해요. 가장 안전하지만 손이 가장 많이 가요.
  • 멤버에게 쓰기 권한. 멤버가 직접 현상금을 맡고, 서로의 현상금은 건드리지 않을 거라고 믿는 방식이에요.
  • 테이블 2개. 스태프는 현상금 게시판에 현상금을 올리고, 멤버는 따로 만든 두 번째 테이블에 수락 기록을 남겨요. Free 플랜은 테이블이 딱 2개예요.

Discord의 ‘관리자’ 권한이 있는 사람은 항상 모든 권한을 가지며, 역할을 하나라도 지정하면 지정된 역할이 없는 멤버는 테이블을 아예 쓸 수 없어요. 테이블과 권한을 참고하세요.

3단계: 올리고 맡기

/bounty-board add title:Clear the Ashen Caves description:Kill the boss and post a screenshot reward:500 status:Open

답장은 명령어를 실행한 채널에 올라가니, 현상금 채널에서 실행하세요. 현상금마다 제목을 겹치지 않게 지으세요. 이후 명령어의 row 선택 목록이 제목으로 검색해요.

누군가 현상금을 맡으면 row 옵션에 입력을 시작해서 그 현상금을 골라요.

/bounty-board update row:Clear the Ashen Caves status:Claimed assigned_to:@Kai

일이 끝나면 이렇게 해요.

/bounty-board update row:Clear the Ashen Caves status:Completed

입력한 필드만 바뀌어요. _mode 옵션은 숫자에만 영향을 줘요. reward:100 _mode:Increment는 현재 보상에 100을 더하고, 기본값인 설정은 값을 바꿔 넣어요.

4단계: 모집 중인 현상금 찾기

  • /bounty-board query status:Open은 모집 중인 현상금 목록을 보여 줘요. 상태는 메뉴에서 고르기 때문에 잘못 입력할 일이 없어요.
  • /bounty-board query status:Claimed assigned_to:@Kai는 Kai가 맡고 있는 현상금을 보여 줘요. 필터는 함께 쓸 수 있어요.
  • /bounty-board view row:Clear the Ashen Caves는 현상금 하나를 만든 사람까지 포함해 전부 보여 줘요.
  • /bounty-board leaderboard column:reward는 보상 순으로 현상금 순위를 매겨요. 모집 중인 것만이 아니라 모든 행의 순위를 매겨요.

결과는 최신순으로 기본 10개, limit으로 최대 25개까지 보여 줘요. 목록에는 앞의 네 열(title, description, reward, status)만 나오기 때문에 Assigned To는 query가 아니라 view에서 보여요. Pro 플랜에서는 대시보드에 "Open bounties" 보기(status가 Open)를 저장해 두고 /bounty-board saved-view name:Open bounties로 실행할 수 있어요.

커미션, 구인 게시판, 요청 대기열

  • 커미션: 수정 페이지에서 Requester 멤버 열을 추가해요. Assigned To는 작가가 되고, Reward는 합의한 가격을 숫자로 적는 칸이 돼요.
  • 구인 게시판: 템플릿을 그대로 써도 돼요. 보수는 Reward에, 요구 사항은 Description에 적어요.
  • 요청 대기열: 작업 보드 템플릿에는 작업, 담당자, 우선순위, 상태(Todo, In Progress, Done), 마감일이 있어요.

날짜는 입력한 그대로(YYYY-MM-DD) 저장되고 아무 동작도 일으키지 않으니, 마감일 열은 만료 기능이 아니라 표시일 뿐이에요.

다른 도구가 더 잘 맞는 경우

  • 게시물마다 수락 버튼을 원한다면 버튼 중심으로 만든 봇을 쓰세요. CordBase에는 버튼이 없어요.
  • 커미션마다 비공개 대화가 필요하다면 Ticket Tool 같은 티켓 봇이 더 잘 맞아요. 현상금마다 게시물과 태그를 다는 포럼 채널도 봇 없이 쓸 수 있어요.
  • CordBase는 결제를 받거나, 에스크로를 보관하거나, 보상을 지급하지 않아요. 보상은 테이블에 들어 있는 숫자일 뿐이에요. 보상이 서버 내 화폐라면 UnbelievaBoat 같은 경제 봇이 잔액을 관리해 줘요.

알아 두면 좋은 한도

  • CordBase는 상태가 바뀌어도 아무에게도 알리지 않아요. 핑, DM, 알림이 전혀 없어요.
  • Free: 테이블 2개, 테이블당 행 100개. 완료된 현상금은 관리자가 지우기 전까지 행으로 남기 때문에 무료 게시판은 금방 차요. Pro($8/월)는 테이블 무제한, 테이블당 행 10,000개, 저장된 보기, 일괄 작업을 제공해요.
  • 테이블당 열은 최대 25개이고, 선택지 목록은 25개 이하로 유지하세요(Discord의 제한이에요).
  • 테이블은 웹에서 설계해요. 멤버가 Discord에서 만들 수는 없어요.
  • 명령어 문법은 명령어 레퍼런스에 있어요.

자주 묻는 질문

멤버가 버튼으로 현상금을 맡을 수 있나요?

아니요. CordBase는 게시물에 버튼을 달지 않아요. 현상금을 맡는 건 status와 assigned_to 옵션을 넣은 update 슬래시 명령어로 해요. 클릭 한 번으로 맡는 버튼이 필요하다면 그 용도로 만든 봇을 쓰세요.

현상금을 누가 맡거나 완료하면 알림이 가나요?

아니요. CordBase는 상태가 바뀌어도 핑, DM, 알림을 보내지 않아요. 수정 내용은 명령어를 실행한 채널에 올라가고, 멤버들은 /bounty-board query status:Open으로 확인할 수 있어요.

Completed 대신 Closed를 쓸 수 있나요?

네. 현상금 게시판 템플릿은 Open, Claimed, Completed를 쓰지만, Status 선택지는 테이블 수정 페이지에서 바꿀 수 있어요. 기존 행은 예전 텍스트를 그대로 유지하니 현상금을 올리기 전에 바꾸세요.