개요
접두사 마침표 앞에 안 붙이고 안된다고 하지 말아주세요😭
— 아이비봇 명령어 안내문
아이비봇은 아이비가 직접 제작한 카카오톡 오픈채팅 커뮤니티 관리·편의 봇이다. 봇의 호스팅은 아이비 본인이 아니라 밀키웨이(Milkyway)가 맡고 있다.
이디 자유 소통방, 폴란드볼 유저 채팅방, 달빛 컨트리볼 채팅방 등 아이비가 관리자로 있는 오픈채팅방에 들어가 있으며, 등록된 방에서만 동작하도록 만들어져 있다. 도배·욕설 감지 같은 관리 기능과 날씨·번역·사전 같은 편의 기능, 채팅 레벨·포인트·출석체크 같은 커뮤니티 기능을 한 봇에서 함께 제공한다.
아이비 클라우드, 아이비 매니저(구 오픈채팅 관리 도구)와 함께 아이비의 대표 제작물로 꼽힌다.
상세
아이비봇은 "공지에 경고를 적어 두는" 기존의 수동 관리 방식을 대체하기 위해 만들어졌다. 규칙 위반 정황을 봇이 자동으로 감지해 방에 알리고, 실제 제재는 관리자가 판단해 부여하는 구조다. 감지 메시지에는 항상 다음 두 문장이 함께 나간다.
⚠️이 메시지는 아이비봇을 통해 자동으로 보내진 메시지이며, 제재는 관리자가 부여합니다.
완벽한 감지가 아니며, 잘못 감지된 항목이 있을 수 있어요.
즉 봇은 감지와 안내까지만 담당하고 판단은 사람이 한다. 이는 오탐지 가능성을 인정하고 책임 소재를 분명히 하기 위한 설계다.
서비스 주체
아이비봇을 만든 것은 아이비지만, 봇을 실제로 돌리고 서비스하는 것은 밀키웨이(Milkyway) 계정이다. 밀키웨이는 카카오톡 포스트를 통해 이 점을 다음과 같이 밝혔다.
아이비봇 서비스는 밀키웨이 계정에서 할거에요!
봇만 밀키웨이 계정에서 서비스하는거지, 아이비와 밀키웨이는 서로 다른 사람이니 헷갈리지 말아주세요😣
— 밀키웨이, 7월 12일 카카오톡 포스트
따라서 아이비와 밀키웨이는 서로 다른 사람이며, 봇의 운영 계정을 아이비 본인으로 오해하지 않도록 안내하고 있다.
구조
동작 방식
아이비봇은 별도의 서버가 아니라 안드로이드 기기에 상주하며 자바스크립트로 돌아간다. 기능마다 스크립트가 하나씩 분리되어 있으며, 2026년 9월 기준 30여 개의 스크립트로 구성된다.
- 스크립트끼리는 메모리를 공유하지 않고, 각자 독립된 공간에서 실행된다.
- 저장이 필요한 자료는 기기 저장소에 JSON 파일로 남는다.
- 네트워크를 쓰는 기능은 별도 스레드에서 처리해, 응답을 기다리는 동안 봇 전체가 멈추지 않도록 되어 있다.
공용 모듈
여러 스크립트가 같은 자료(레벨, 포인트, 칭호 등)를 함께 쓰기 때문에, 공통으로 쓰이는 도구를 공용 모듈로 묶어 모든 스크립트에 같은 사본으로 넣어 두었다.
- 날짜·숫자 표기, 파일 읽고 쓰기, 하루 한 번 실행 같은 공통 작업을 담당한다.
- 저장 파일이 깨졌을 때 자동으로 백업본에서 되돌린다.
- 포인트처럼 여러 스크립트가 동시에 건드리는 값은 항상 다시 읽고 쓰는 방식으로 처리해, 서로 덮어쓰는 사고를 막는다.
명령어
입력 형식
모든 명령어는 마침표(.)를 앞에 붙여 입력한다. 일부 기능은 지정된 방에서만 동작한다.
아래 표기에서 꺾쇠와 대괄호는 실제로 입력하지 않는다.
일반
유틸리티
포인트
채팅을 하면 포인트가 조금씩 쌓이는 커뮤니티 재화 시스템이다. 도배로 모으지 못하도록 하루 상한과 획득 간격이 있다.
교통
게임
관리
자동 동작
아래 기능은 명령어 없이 지정된 방에서 자동으로 동작한다.
- 도배 감지 : 같은 사람이 연속으로 일정 횟수 이상 보내면 안내한다. 텍스트 도배와 이모티콘 도배를 따로 세며, 기준 횟수는 방마다 다르게 설정한다.
- 욕설 감지 : 규칙에 위배될 수 있는 단어를 감지해 안내한다. 자세한 내용은 #욕설 감지 문단 참고.
- 닉네임 변경 감지 : 멤버가 닉네임을 바꾸면 방에 자동으로 안내된다.
- 아침 날씨 브리핑 : 매일 아침 정해진 시각에 날씨를 안내한다.
도배 감지와 아침 날씨 브리핑은 방장이 따로 요청한 방에만 추가된다.
제재 시스템
경고 부여
관리자가 대상을 멘션한 뒤 점수·규칙 번호·사유를 적어 경고를 부여한다.
@<닉네임> <경고 | 주의> <점수> | <규칙 번호> | <사유>
예) @홍길동 경고 1 | 1-1 | 도배
점수 앞에 마이너스를 붙이면 차감되며, 규칙 번호와 사유는 생략할 수 있다. 관리자가 아닌 멤버가 이 명령어를 사용하면 방 규칙 22번에 의거해 도리어 경고 처리된다.
블랙리스트
아이비봇 자체의 이용을 금지하는 기능이다. 닉네임이 아니라 유저 해시를 기준으로 차단하기 때문에, 등록된 사람이 닉네임을 바꾸어도 계속 차단된다.
- 등록된 사람은 아이비봇의 모든 명령어를 사용할 수 없다.
- 봇이 아직 발화를 보지 못한 사람은 대기로 걸리고, 다음 채팅 때 자동으로 등록된다.
- 등록 후 실제 반영까지 최대 3초가 걸린다.
차단 처리 코드는 모든 스크립트의 맨 앞에 같은 형태로 삽입되어 있어, 어느 기능으로도 우회할 수 없도록 되어 있다.
욕설 감지
아이비봇에서 가장 많은 개선이 이루어진 기능이다. 2026년 기준 2단계 구조로 동작한다.
1차 · 단어 대조
2,200개가 넘는 단어 목록과 대조해 위배 가능성이 있는 단어를 찾는다. 발음을 바꾸거나 숫자를 끼워 넣은 변형도 어느 정도 잡아낸다. 단어를 하나씩 찾아보는 대신 트라이[1] 방식으로 한 번에 훑기 때문에, 목록이 커져도 속도가 거의 떨어지지 않는다.
여기에 경계 규칙이 더해져 있다. 걸린 자리의 앞뒤가 모두 한글이면, 즉 낱말 한가운데 우연히 파묻힌 경우라면 넘어간다.
딸기씨발라먹어 → "딸기 씨 발라먹어"이므로 정상
연락 읽고 씹었어요 → 한 글자 단어가 다른 글자에 붙어 있으므로 정상
2차 · 문맥 판정
1차에서 걸린 문장만 인공지능에게 다시 물어, 문맥상 실제 욕설인지 판정한다. 인공지능이 "문맥상 욕설이 아니다"라고 하면 경고하지 않는다.
- 1차에 걸리지 않은 평범한 대화는 외부로 전송되지 않는다.
- 판정 모델이 응답하지 않으면 대체 모델로 한 번 더 시도하고, 그래도 실패하면 1차 결과를 따른다.
- 같은 문장은 결과를 기억해 두어 다시 묻지 않는다.
판정 출처 표시
경고 메시지 끝에 어떤 단계에서 걸린 것인지 꼬리표가 붙는다.
인공지능 확인을 거친 쪽이 더 정확하므로, 관리자가 제재를 정할 때 참고하도록 안내하고 있다.
데이터와 개인정보
- 채팅 레벨·포인트·출석 기록은 봇이 설치된 기기에만 저장된다.
- 차단·출석 기록은 닉네임이 아니라 유저 해시를 기준으로 저장되므로, 닉네임을 바꾸어도 기록이 이어진다.
- 노트 기능으로 저장한 메모는 작성자 본인만 조회할 수 있다.
- 채팅 기록 수집은
.채팅기록수집거부로 거부할 수 있다. - 욕설 감지 2차 판정에서는 1차에 걸린 문장만 외부 인공지능 서비스로 전송되며, 이 사실은 업데이트 공지에 명시되어 있다.
플랜
아이비봇은 방 단위로 플랜을 나누어 제공한다. 상위 플랜은 하위 플랜의 기능을 모두 포함한다. 아래는 v1.5.8에서 개편된 뒤의 구성이다.[2]
역사
아이비봇은 업데이트가 있을 때마다 방에 업데이트 내역을 공지하며, 추가 명령어 · 추가 기능 · 버그 픽스 · 해야 할 것 순으로 정리해 올린다.
v1.5 대에는 버전 뒤에 stable · alpha · beta를 붙여 배포 단계를 함께 표기했다. v1.6.0부터는 dev가 붙은 테스트 빌드를 먼저 배포하며, 공지에도 동작이 불안정할 수 있다는 안내가 함께 나간다.
여담
- 업데이트 공지는 카카오톡의 전체보기 접기를 이용해, 요약만 먼저 보이고 자세한 설명은 눌러서 보도록 만들어져 있다.
- 명령어 안내문 첫 줄이 "접두사 마침표 앞에 안 붙이고 안된다고 하지 말아주세요😭"인데, 그만큼 마침표를 빼고 입력하는 경우가 많았다고 한다.
- 봇 안에서
.업데이트 기록으로 역대 업데이트 내역을 볼 수 있으며, 열람할 수 있는 가장 오래된 기록은 v1.5.7이다. .내해시로 확인할 수 있는 유저 해시는 방마다 다르게 발급된다.