Iris

Iris는 카카오톡과의 상호작용을 자동화하고, 데이터베이스에서 데이터를 추출하며, HTTP 서버를 통해 원격으로 제어하기 위한 서버 어플리케이션입니다. Java로 빌드되었으며 Android 기기에서 실행되도록 설계되었고, 시스템 서비스와 직접적인 데이터베이스 접근을 활용합니다.

Iris 시작하기

Iris를 시작하기 위한 설정이 필요합니다. 여기를 참고해 셋업을 완료하세요.

엔드포인트

HTTP API 엔드포인트
POST

/decrypt
메시지를 복호화합니다.

POST

/query
카카오톡 데이터베이스에 대한 SQL 쿼리를 실행합니다. 응답에서 암호화된 데이터 필드를 자동으로 복호화합니다.

POST

/reply
방에 텍스트 메시지 또는 이미지를 보냅니다.

구성 API 엔드포인트
GET

/config/info
현재 구성을 JSON 응답으로 검색합니다.

POST

/config/botport
봇 HTTP 서버 포트를 업데이트합니다.

POST

/config/dbrate
데이터베이스 폴링 속도를 업데이트합니다.

POST

/config/endpoint
메시지 전달을 위한 웹 서버 엔드포인트를 업데이트합니다.

POST

/config/sendrate
메시지 전송 속도를 업데이트합니다.

메시지 전달을 위한 API 참조

Iris가 카카오톡 데이터베이스에서 새 메시지를 감지하면 /config 또는 /config/endpoint를 통해 구성된 web_server_endpoint로 POST 요청을 보냅니다. 요청 본문은 다음 구조의 JSON 객체입니다:

{
  "msg": "[DECRYPTED_MESSAGE_CONTENT]", // 복호화된 메시지 텍스트
  "room": "[CHAT_ROOM_NAME]",          // 채팅방 이름 또는 1:1 채팅의 경우 발신자 이름
  "sender": "[SENDER_NAME]",          // 메시지 발신자 이름
  "json": {                            // 'chat_logs' 테이블의 원시 데이터베이스 행을 JSON으로 표현
    "_id": "...",
    "chat_id": "...",
    "user_id": "...",
    "message": "[DECRYPTED_MESSAGE_CONTENT]", // 복호화된 메시지 내용, "msg" 필드와 동일
    "attachment": "[DECRYPTED_ATTACHMENT_INFO]", // 복호화된 첨부 파일 정보 (있는 경우)
    "v": "{\"enc\": 0, ...}",           // 원본 'v' 열 값 (JSON 형식)
    // ... chat_logs 테이블의 기타 열 ...
  }
}