아이비봇

카카오톡 오픈채팅 봇
아이비봇
Ivy Bot
밀키웨이프사1.png
아이비봇을 서비스하는 밀키웨이 계정의 프로필 사진
기본 정보
개발
호스팅
밀키웨이 (Milkyway)
아이비와 밀키웨이는 서로 다른 사람이다.
종류
커뮤니티 관리·편의 봇
명령어 접두사
. (마침표)
버전
최신 정식
v1.5.9
최신 테스트
v1.6.0-dev.5
최초 기록
v1.5.7
주요 기능
관리
도배 감지 · 욕설 감지 · 경고 부여 · 블랙리스트
편의
날씨 · 미세먼지 · 환율 · 번역 · 사전 · 맞춤법 · 대중교통
커뮤니티
채팅 레벨 · 포인트 · 칭호 · 출석체크 · 게임
서비스
플랜
무료 · 스타터 · 스탠다드 · 프로



개요

접두사 마침표 앞에 안 붙이고 안된다고 하지 말아주세요😭
— 아이비봇 명령어 안내문

아이비봇은 아이비가 직접 제작한 카카오톡 오픈채팅 커뮤니티 관리·편의 봇이다. 봇의 호스팅은 아이비 본인이 아니라 밀키웨이(Milkyway)가 맡고 있다.

이디 자유 소통방, 폴란드볼 유저 채팅방, 달빛 컨트리볼 채팅방 등 아이비가 관리자로 있는 오픈채팅방에 들어가 있으며, 등록된 방에서만 동작하도록 만들어져 있다. 도배·욕설 감지 같은 관리 기능과 날씨·번역·사전 같은 편의 기능, 채팅 레벨·포인트·출석체크 같은 커뮤니티 기능을 한 봇에서 함께 제공한다.

아이비 클라우드, 아이비 매니저(구 오픈채팅 관리 도구)와 함께 아이비의 대표 제작물로 꼽힌다.

상세

아이비봇은 "공지에 경고를 적어 두는" 기존의 수동 관리 방식을 대체하기 위해 만들어졌다. 규칙 위반 정황을 봇이 자동으로 감지해 방에 알리고, 실제 제재는 관리자가 판단해 부여하는 구조다. 감지 메시지에는 항상 다음 두 문장이 함께 나간다.

⚠️이 메시지는 아이비봇을 통해 자동으로 보내진 메시지이며, 제재는 관리자가 부여합니다.
완벽한 감지가 아니며, 잘못 감지된 항목이 있을 수 있어요.

즉 봇은 감지와 안내까지만 담당하고 판단은 사람이 한다. 이는 오탐지 가능성을 인정하고 책임 소재를 분명히 하기 위한 설계다.

서비스 주체

서비스 주체를 밝힌 밀키웨이 계정의 포스트.

아이비봇을 만든 것은 아이비지만, 봇을 실제로 돌리고 서비스하는 것은 밀키웨이(Milkyway) 계정이다. 밀키웨이는 카카오톡 포스트를 통해 이 점을 다음과 같이 밝혔다.

아이비봇 서비스는 밀키웨이 계정에서 할거에요!
봇만 밀키웨이 계정에서 서비스하는거지, 아이비와 밀키웨이는 서로 다른 사람이니 헷갈리지 말아주세요😣 — 밀키웨이, 7월 12일 카카오톡 포스트

따라서 아이비와 밀키웨이는 서로 다른 사람이며, 봇의 운영 계정을 아이비 본인으로 오해하지 않도록 안내하고 있다.

구조

동작 방식

아이비봇은 별도의 서버가 아니라 안드로이드 기기에 상주하며 자바스크립트로 돌아간다. 기능마다 스크립트가 하나씩 분리되어 있으며, 2026년 9월 기준 30여 개의 스크립트로 구성된다.

  • 스크립트끼리는 메모리를 공유하지 않고, 각자 독립된 공간에서 실행된다.
  • 저장이 필요한 자료는 기기 저장소에 JSON 파일로 남는다.
  • 네트워크를 쓰는 기능은 별도 스레드에서 처리해, 응답을 기다리는 동안 봇 전체가 멈추지 않도록 되어 있다.

공용 모듈

여러 스크립트가 같은 자료(레벨, 포인트, 칭호 등)를 함께 쓰기 때문에, 공통으로 쓰이는 도구를 공용 모듈로 묶어 모든 스크립트에 같은 사본으로 넣어 두었다.

  • 날짜·숫자 표기, 파일 읽고 쓰기, 하루 한 번 실행 같은 공통 작업을 담당한다.
  • 저장 파일이 깨졌을 때 자동으로 백업본에서 되돌린다.
  • 포인트처럼 여러 스크립트가 동시에 건드리는 값은 항상 다시 읽고 쓰는 방식으로 처리해, 서로 덮어쓰는 사고를 막는다.

명령어

입력 형식

모든 명령어는 마침표(.)를 앞에 붙여 입력한다. 일부 기능은 지정된 방에서만 동작한다.

아래 표기에서 꺾쇠와 대괄호는 실제로 입력하지 않는다.

표기 뜻
<지역명> 반드시 넣어야 하는 값
[지역명] 넣어도 되고 빼도 되는 값
가 | 나 둘 중 하나를 고르는 값
@<닉네임> 카카오톡 멘션으로 지목한다

일반

입력 형식 설명
.명령어 전체 명령어 모음을 보여준다.
.ping 봇의 지연시간과 google.com·naver.com·카카오 채널 세 곳의 응답 속도를 측정한다.
.최적화 캐시를 비우고 현재 메모리 사용량을 알려준다.
.내해시 본인의 유저 해시를 확인한다. 닉네임과 달리 바뀌지 않는 고유 값이다. .해시확인으로도 된다.
.업데이트 기록 역대 업데이트 내역을 확인한다.
.채팅기록수집거부 채팅 기록 수집을 거부한다.

유틸리티

입력 형식 설명
.날씨 <지역명> 그 지역의 현재 날씨를 알려준다. 해외 지역도 조회된다. 예) .날씨 Tokyo
.미세먼지 [지역명] 미세먼지와 초미세먼지 농도를 알려준다. 지역을 빼면 서울로 나온다. .먼지 · .대기질로도 된다.
.환율
.환율 <통화>
.환율 <금액> <통화>
.환율 <금액> <통화> <바꿀 통화>
.통화목록
차례대로 주요 통화 시세, 특정 통화 시세, 원화로 환산, 통화끼리 환산, 조회 가능한 통화 목록이다. 통화는 "달러", "엔"처럼 한국어로도 넣을 수 있다.
.코인 <코인 이름>
.시세
.코인목록
차례대로 특정 코인 시세, 주요 코인 상위 10종, 조회 가능한 코인 목록이다.
.번역 <문장>
.번역 <언어코드> <문장>
.번역목록
한국어 문장은 영어로, 그 외에는 한국어로 번역한다. 언어를 정하려면 코드를 앞에 붙인다. 예) .번역 ja 안녕하세요
.뜻 <단어> 단어의 뜻과 예문을 나누어 보여준다. .사전 · .단어로도 된다. 문장이 아니라 단어 하나만 넣어야 한다.
.맞춤법 <문장> 틀린 곳을 찾아 고쳐 주며, 맞춤법·띄어쓰기·표준어 의심·통계적 교정 중 어느 쪽인지 함께 알려준다. .검사 · .교정으로도 된다.
.계산 <수식> 사칙연산과 루트·제곱을 계산한다. "루트4", "3분의2", "2의 10제곱" 같은 한국어 표현도 인식한다.
<내용>
.노트 수정 <제목> | <새 내용>
.노트 삭제 <검색어>
.노트 검색 <검색어>
.노트 보기 <검색어>
.노트 목록
개인 메모장. 작성자 본인만 조회할 수 있으며 1인당 200개까지 저장된다. 수정할 때는 제목을 정확히 적어야 한다.
.인터넷속도 봇 기기의 다운로드·업로드 속도와 지연시간을 측정한다. 데이터가 소모되므로 방마다 쿨다운이 있다.
.ㅊㅊ
.출첵목록
.내출석
차례대로 출석체크, 오늘 출석한 사람과 연속 출석 순위, 내 출석 기록이다. .출석 · .출석체크로도 된다. 닉네임을 바꾸어도 기록이 이어진다.
.레벨 100채팅당 1레벨. 입력하면 안내되는 번호를 보내 본인 레벨, 현재 방 상위 50위, 전체 방 합산 상위 300위 중에서 고른다.
.칭호 레벨 구간별 칭호표와 내 칭호를 보여준다.

포인트

채팅을 하면 포인트가 조금씩 쌓이는 커뮤니티 재화 시스템이다. 도배로 모으지 못하도록 하루 상한과 획득 간격이 있다.

입력 형식 설명
.지갑 내 포인트와 순위, 장착한 칭호를 확인한다. .포인트로도 된다.
.포인트순위 포인트가 많은 순서를 본다.
.상점
.구매 <번호>
포인트로 살 수 있는 칭호 목록을 보고, 번호를 골라 구매한다.
.칭호목록
.칭호 장착 <칭호 이름>
.칭호 해제
보유 칭호를 확인하고 장착·해제한다.
.업적 달성한 업적과 남은 업적을 본다. 레벨·출석·포인트에 따라 자동으로 달성되며, 달성 시 포인트를 받는다.

교통

입력 형식 설명
.버스 <버스번호>
.버스 <지역명> <버스번호>
버스의 실시간 위치를 알려준다. 같은 번호가 여러 지역에 있으면 지역명을 앞에 붙인다. 예) .버스 부천 88
.전철위치 <역 이름> 지하철의 실시간 도착·출발 정보를 알려준다. "역"을 뺀 이름으로 넣는다. 예) .전철위치 강남
.길찾기 <출발지>-<도착지> 대중교통 경로와 소요 시간, 요금을 알려준다. 예) .길찾기 서울역-강남역

게임

입력 형식 설명
번호> · .스킵
.마피아 상태 · .마피아 종료
4~10명이 참여하는 마피아 게임. 봇이 재시작되면 진행 중이던 게임은 사라진다.
.킬 <이름>
.조사 <이름>
.치료 <이름>
.역할
마피아 게임의 밤 행동. 봇과의 개인톡에서 입력한다.
.러시안룰렛
.참여 · .시작
최대 6명이 참여하는 러시안 룰렛.
.퀴즈
.이벤트 약관 동의
.퀴즈순위 · .닉확인
이벤트가 진행 중인 방에서만 동작한다. 첫 참여 전에 약관 동의를 먼저 입력해야 한다. 제한시간은 15초다.

관리

입력 형식 설명
검색어> 대상의 닉네임 변경 기록을 조회한다. 여러 명이 검색되면 안내되는 번호를 20초 안에 보낸다.
주의> <점수> | <규칙 번호> | <사유> 1-1 | 도배
점수 앞에 -를 붙이면 차감된다. 규칙 번호와 사유는 생략할 수 있다.
<사유>
.블랙리스트 전체 @<닉네임>
.블랙리스트 해시 <해시>
.블랙리스트 해제 @<닉네임>
.블랙리스트 목록
.블랙리스트 도움말
대상의 아이비봇 이용을 금지한다. 자세한 내용은 #블랙리스트 문단 참고.

자동 동작

아래 기능은 명령어 없이 지정된 방에서 자동으로 동작한다.

  • 도배 감지 : 같은 사람이 연속으로 일정 횟수 이상 보내면 안내한다. 텍스트 도배와 이모티콘 도배를 따로 세며, 기준 횟수는 방마다 다르게 설정한다.
  • 욕설 감지 : 규칙에 위배될 수 있는 단어를 감지해 안내한다. 자세한 내용은 #욕설 감지 문단 참고.
  • 닉네임 변경 감지 : 멤버가 닉네임을 바꾸면 방에 자동으로 안내된다.
  • 아침 날씨 브리핑 : 매일 아침 정해진 시각에 날씨를 안내한다.

도배 감지와 아침 날씨 브리핑은 방장이 따로 요청한 방에만 추가된다.

제재 시스템

경고 부여

관리자가 대상을 멘션한 뒤 점수·규칙 번호·사유를 적어 경고를 부여한다.

@<닉네임> <경고 | 주의> <점수> | <규칙 번호> | <사유>
예) @홍길동 경고 1 | 1-1 | 도배

점수 앞에 마이너스를 붙이면 차감되며, 규칙 번호와 사유는 생략할 수 있다. 관리자가 아닌 멤버가 이 명령어를 사용하면 방 규칙 22번에 의거해 도리어 경고 처리된다.

블랙리스트

아이비봇 자체의 이용을 금지하는 기능이다. 닉네임이 아니라 유저 해시를 기준으로 차단하기 때문에, 등록된 사람이 닉네임을 바꾸어도 계속 차단된다.

  • 등록된 사람은 아이비봇의 모든 명령어를 사용할 수 없다.
  • 봇이 아직 발화를 보지 못한 사람은 대기로 걸리고, 다음 채팅 때 자동으로 등록된다.
  • 등록 후 실제 반영까지 최대 3초가 걸린다.

차단 처리 코드는 모든 스크립트의 맨 앞에 같은 형태로 삽입되어 있어, 어느 기능으로도 우회할 수 없도록 되어 있다.

욕설 감지

아이비봇에서 가장 많은 개선이 이루어진 기능이다. 2026년 기준 2단계 구조로 동작한다.

1차 · 단어 대조

2,200개가 넘는 단어 목록과 대조해 위배 가능성이 있는 단어를 찾는다. 발음을 바꾸거나 숫자를 끼워 넣은 변형도 어느 정도 잡아낸다. 단어를 하나씩 찾아보는 대신 트라이[1] 방식으로 한 번에 훑기 때문에, 목록이 커져도 속도가 거의 떨어지지 않는다.

여기에 경계 규칙이 더해져 있다. 걸린 자리의 앞뒤가 모두 한글이면, 즉 낱말 한가운데 우연히 파묻힌 경우라면 넘어간다.

딸기씨발라먹어 → "딸기 씨 발라먹어"이므로 정상
연락 읽고 씹었어요 → 한 글자 단어가 다른 글자에 붙어 있으므로 정상

2차 · 문맥 판정

1차에서 걸린 문장만 인공지능에게 다시 물어, 문맥상 실제 욕설인지 판정한다. 인공지능이 "문맥상 욕설이 아니다"라고 하면 경고하지 않는다.

  • 1차에 걸리지 않은 평범한 대화는 외부로 전송되지 않는다.
  • 판정 모델이 응답하지 않으면 대체 모델로 한 번 더 시도하고, 그래도 실패하면 1차 결과를 따른다.
  • 같은 문장은 결과를 기억해 두어 다시 묻지 않는다.

판정 출처 표시

경고 메시지 끝에 어떤 단계에서 걸린 것인지 꼬리표가 붙는다.

표시 의미
[DB 대조 결과] 단어 목록과 대조해서 걸린 것
[AI 판정 결과 · 모델이름] 인공지능이 문맥까지 보고 판정한 것

인공지능 확인을 거친 쪽이 더 정확하므로, 관리자가 제재를 정할 때 참고하도록 안내하고 있다.

데이터와 개인정보

  • 채팅 레벨·포인트·출석 기록은 봇이 설치된 기기에만 저장된다.
  • 차단·출석 기록은 닉네임이 아니라 유저 해시를 기준으로 저장되므로, 닉네임을 바꾸어도 기록이 이어진다.
  • 노트 기능으로 저장한 메모는 작성자 본인만 조회할 수 있다.
  • 채팅 기록 수집은 .채팅기록수집거부로 거부할 수 있다.
  • 욕설 감지 2차 판정에서는 1차에 걸린 문장만 외부 인공지능 서비스로 전송되며, 이 사실은 업데이트 공지에 명시되어 있다.

플랜

아이비봇은 방 단위로 플랜을 나누어 제공한다. 상위 플랜은 하위 플랜의 기능을 모두 포함한다. 아래는 v1.5.8에서 개편된 뒤의 구성이다.[2]

기능 무료
월 0원
스타터
월 5,000원
스탠다드
월 12,000원
프로
월 20,000원
사용자 지정 명령어 – – – ✓
채팅랭킹 피버타임 – – ✓ ✓
채팅기록 – ✓ ✓ ✓
출석 체크 & 순위 경쟁 – ✓ ✓ ✓
날씨 ✓ ✓ ✓ ✓
레벨업 ✓ ✓ ✓ ✓
입장 시 안내 멘트 ✓ ✓ ✓ ✓

역사

아이비봇은 업데이트가 있을 때마다 방에 업데이트 내역을 공지하며, 추가 명령어 · 추가 기능 · 버그 픽스 · 해야 할 것 순으로 정리해 올린다.

버전 주요 내용
v1.5.7 업데이트 기록을 최초로 작성한 버전. 아이비봇이 들어간 모든 방의 채팅 레벨을 함께 볼 수 있는 .방채팅랭킹과, 지하철역의 열차 도착 시간을 알려주는 .실시간 전철[3]이 추가되었다. 채팅기록수집거부 명령어가 일부 사용자에게만 다르게 동작하던 문제도 함께 고쳤다.
v1.5.8 역대 업데이트 내역을 봇 안에서 바로 확인하는 .업데이트 기록이 추가되었다. 이 버전에서 플랜 구성이 개편되어, 그전까지의 무료 · 스탠다드 · 베이직 · 프로가 무료 · 스타터 · 스탠다드 · 프로로 다시 짜였다.
v1.5.9 채팅 수를 집계해 레벨을 매기는 .레벨이 추가되었다. 아침 날씨 브리핑, 도배 감지, 욕설·패드립·성드립 감지가 함께 들어왔으며, 이 세 가지는 방장이 따로 요청한 방에만 추가된다. 감지 기능은 발음을 바꾸거나 숫자를 끼워 넣은 변형도 어느 정도 잡아낸다.
v1.6.0-dev.1 욕설 감지 개선. 단어 대조 방식을 바꾸어 속도를 크게 끌어올렸다.
v1.6.0-dev.2 출석체크 재개, 레벨 칭호, 환율 기능 추가.
v1.6.0-dev.3 포인트 시스템과 편의 기능 4종 추가.
v1.6.0-dev.5 욕설 감지 오탐지 대폭 감소, 인공지능 문맥 확인 도입, 사전·맞춤법 기능 수정.

v1.5 대에는 버전 뒤에 stable · alpha · beta를 붙여 배포 단계를 함께 표기했다. v1.6.0부터는 dev가 붙은 테스트 빌드를 먼저 배포하며, 공지에도 동작이 불안정할 수 있다는 안내가 함께 나간다.

여담

  • 업데이트 공지는 카카오톡의 전체보기 접기를 이용해, 요약만 먼저 보이고 자세한 설명은 눌러서 보도록 만들어져 있다.
  • 명령어 안내문 첫 줄이 "접두사 마침표 앞에 안 붙이고 안된다고 하지 말아주세요😭"인데, 그만큼 마침표를 빼고 입력하는 경우가 많았다고 한다.
  • 봇 안에서 .업데이트 기록으로 역대 업데이트 내역을 볼 수 있으며, 열람할 수 있는 가장 오래된 기록은 v1.5.7이다.
  • .내해시로 확인할 수 있는 유저 해시는 방마다 다르게 발급된다.

각주

  1. ↑ 여러 단어를 한 그루의 나무 형태로 묶어 한 번에 훑는 자료구조.
  2. ↑ 개편 전에는 무료 · 스탠다드 · 베이직 · 프로였다. 베이직 등급이 없어지고 스타터가 새로 생겼으며, 가장 낮은 유료 등급이던 스탠다드는 중간 등급으로 자리를 옮겼다.
  3. ↑ 현재의 .전철위치 명령어로 이어진다.