레벨과 경험치
채널에 쓴 메시지 하나마다 15에서 25 XP가 무작위로 주어집니다.
멤버당 1분에 한 번만 집계되므로, 연달아 열 개를 써도 한 개보다 더 얻지는 못합니다.
봇, 다이렉트 메시지, 시스템 메시지(입장, 고정)는 아무것도 받지 않습니다.
레벨 L에서 다음 레벨로 가는 데는 5 × L² + 50 × L + 100 XP가 듭니다.
따라서 단계마다 비용이 오르며, 저장되는 것은 누적 XP뿐입니다. 레벨은 거기서 계산해 냅니다.
마지막 열은 평범한 대화를, 평균 획득량으로 가정한 값입니다. 자릿수를 가늠하기 위한 수치이며,
실제 시간은 메시지 사이의 간격에 따라 달라집니다. 카운터가 1분에 하나만 세기 때문입니다.
레벨이 오를 때마다 봇은 그 메시지를 쓴 채널에서 답합니다.
이 공지는 대시보드에서 설정합니다. 임베드 또는 일반 텍스트, 제목, 설명, 색상,
그리고 평소 변수에 더해 {level}과 {xp}를 쓸 수 있습니다. 봇이 글을 쓸 수 없는 채널이라도
막히는 것은 없습니다. 레벨은 그대로 오르고, 공지만 생략됩니다.
이 모듈은 기본으로 켜져 있습니다. 끄면 획득과 공지가 멈추지만 아무것도 지워지지 않습니다.
순위표는 데이터베이스에 남아 있다가 다시 켜는 순간 그대로 돌아옵니다. 개별 사례를 바로잡으려면
/xp로 멤버의 XP를 더하거나 빼거나 지정하고,
/rank와
/leaderboard로 결과를 봅니다.
제재, 기록, 메모
봇이 내린 모든 제재가 기록됩니다. 차단, 임시 차단, 추방, 타임아웃, 경고, 그리고 해제
(차단 해제, 경고 취소)까지. 각각 열두 자리 번호를 받습니다.
순서는 우연이 아닙니다. DM은 제재 이전에 나갑니다. 차단한 뒤에는 봇이 그 사람과 서버를 공유하지 않아 글을 보낼 수 없기 때문입니다.
기록은 반대로 Discord 호출보다 먼저 이루어져 번호가 존재하도록 합니다. Discord가 그 작업을 거부하면
기록은 되돌려지고, 파일에 유령 제재가 남지 않습니다.
임시 차단은 스스로 해제 시점을 예약합니다. 그때가 오면 봇은 그 사이에 관리자가 차단을 다시 걸지 않았는지
확인하고, 다시 걸려 있다면 풀지 않습니다. 기간 중에 내려진 영구 /ban은 예약된 해제를 취소합니다.
메모(/note, 제재당 25개)는 해당 멤버에게 절대 보이지 않습니다.
몇 달 뒤 아무도 맥락을 기억하지 못할 때, 관리자들 사이의 대화를 위해 쓰입니다.
문 앞의 보호
서로 독립적인 세 가지 장치입니다. 겹쳐 써도 되고 하나만 써도 됩니다:
-
캡차: 도착한 멤버는 역할을 받기 위해 문제를 풀어야 합니다.
기본값: 3회 시도, 5분, 실패 시 추방. 요청은 다이렉트 메시지로 갑니다.
멤버가 DM을 닫아 두었다면 봇이 지정한 카테고리에 임시 인증 채널을 만듭니다.
본인만 볼 수 있고, 끝나면 삭제됩니다.
-
사이트를 통한 인증: 멤버가 버튼을 누르고 사이트에서 마친 뒤, 돌아오면 역할이 있습니다.
여기서 봇은 아무것도 직접 주지 않습니다. 사이트가 Discord로 신원을 확인한 다음 역할을 부여합니다.
-
레이드 방지: 개인이 아니라 흐름을 겨냥합니다.
10초 안에 8명이 넘게 들어오면(기본값) 경보를 울리거나 격리하거나 추방합니다.
계정 나이 필터는 물결에 휩쓸린 단골들을 통과시켜 줍니다.
세 장치의 공통점은 격리 역할입니다. 도착할 때 붙어서 새로 온 사람이 보고 할 수 있는 것을
제한하고, 인증을 통과하면 벗겨집니다. 그것이 붙어 있는 한 주도권은 당신에게 있습니다. 직접 통과시켜 주는 것을 막을 것은 아무것도 없습니다.
티켓
채널에 게시된 패널 하나, 최대 25가지 문의 유형(Discord 드롭다운의 한계),
그리고 각각에 이모지, 색상, 환영 메시지, 접수 양식, 접근할 팀이 따라붙습니다.
접수하면 요청자와 그 팀 사이에 비공개 채널이 생깁니다. 종료 시 대화는 보관 채널에 HTML로 저장되어,
채널이 사라진 뒤에도 읽을 수 있습니다.
음악과 DJ 역할
재생은 전용 오디오 인프라에 의존합니다. 사용할 수 없으면 음악 명령어가 그렇게 알려 주고,
봇의 나머지는 모두 평소대로 동작합니다.
진행 중인 재생을 조작하는 명령어(/pause, /resume, /stop, /loop, /volume)는 DJ 전용입니다. DJ란:
서버 소유자, 관리자, 「서버 관리」 권한을 가진 멤버, 또는
/dj add로 추가된 역할을 가진 멤버입니다. 따라서 DJ 역할을 설정하지 않은 동안
이 명령어들은 그 세 부류에게만 응답합니다. 스태프 역할은 별개의 목록이며 DJ 자격을 주지 않습니다.
읽기 전용 명령어(/queue, /nowplaying, /lyrics)와
곡 추가(/play)는 모두에게 열려 있습니다.
이벤트
허용 기간: 10초부터 28일까지, 자유롭게 적습니다
(30m, 1h30m, 2d). 서버당 진행 중인 이벤트는 최대 20개,
추첨당 당첨자는 최대 20명입니다.
추첨은 언제나 봇이 하고, 사이트가 하지 않습니다. 추첨 시점에 당첨자가 아직 서버에 있는지,
참가에 필요한 역할을 가지고 있는지 확인할 수 있는 것은 봇뿐이기 때문입니다. 아무도 나타나지 않으면
/giveaway reroll로 다시 뽑습니다.
로그
21가지 이벤트가 5개 분류(메시지, 멤버, 관리, 음성, 서버)로 나뉘며, 각각 따로 켜고 끌 수 있습니다.
모든 분류는 자기 채널을 지정할 수 있습니다. 관리는 이쪽, 메시지는 저쪽으로.
메시지 내용은 데이터베이스에 절대 저장되지 않습니다. 메시지가 삭제되면 봇은 지정한 채널에
임베드를 게시할 뿐입니다. 봇 자신이 한 작업(/ban을 통한 차단)은 관리자를 명시하는
관리 로그가 한 번만 기록합니다.
백업
백업은 서버의 구조(역할, 채널, 권한)를 찍어 두고 비공개 코드를 다이렉트 메시지로 돌려줍니다.
소유자당 3개까지 보관됩니다. 메시지는 담기지 않습니다. 대화 기록이 아니니까요.
이 코드는 그 구조를 현재 서버에 복원하므로, 다른 곳에서 가져오면 서버를 복제할 수도 있습니다.
임시 음성 채널
트리거 채널에 들어가면 그 멤버가 주인인 채널이 만들어집니다. 이름을 바꾸거나, 접근을 제한하거나,
인원을 제한할 수 있습니다. 채널은 비는 즉시 사라지므로 정리할 것이 없습니다.