본문 바로가기

project

카카오톡 챗봇 만들기 (Iris + IrisPy2 활용)

728x90
반응형

2025.04.01 - [project] - Kakao Chat-bot 만들기 - 오픈빌더와 Flask를 이용한 MVP 제작

 

Kakao Chat-bot 만들기 - 오픈빌더와 Flask를 이용한 MVP 제작

1. 프로젝트 개요나는 매일 오딘 길드의 보스 스케줄을 공지하는 역할을 맡고 있었다. 하지만 이 작업은 생각보다 꽤 번거롭고, 매일 밤마다 수동으로 시간을 확인하고 텍스트를 작성해야 했기

ssanggo.tistory.com

 

이전에 발행한 게시글에서 단톡방에 내가 만든 bot을 초대해서 사용할 수 없는 문제가 있어서, 초대할 수 있는 챗봇을 만드는 것이 이번 목표였다. 단톡방에 초대할 수 있는 챗봇을 만들기 위해서는 우선, "새로운 카카오톡 계정"을 만들어야 한다. 그래서 통신사 부가서비스에 있는 듀얼넘버(월 3,300원) 가입하고, 새 계정을 생성하였다.

🛠️ 개발 환경 및 도구

  • 운영 체제: Ubuntu 24.04 LTS (VMware를 이용한 가상 환경)
  • Android 에뮬레이션: Redroid (루팅된 Android 11 환경 제공)
  • 카카오톡 자동화: Iris 앱 (메시지 수신 및 전송 처리)
  • 백엔드 개발: Python 기반 IrisPy2 라이브러리
  • ADB 및 GUI 접근: ADB, Scrcpy

⚙️ 구축 과정

1. Ubuntu 설치 및 환경 설정

VMware를 이용하여 Ubuntu 24.04 LTS를 설치하였습니다. 설치 후 기본적인 패키지 업데이트와 필요한 도구들을 설치하였습니다.

 

sudo apt update && sudo apt upgrade -y sudo apt install git curl wget -y
 

2. Redroid 설치

Redroid는 루팅된 Android 환경을 제공하는 에뮬레이터로, Docker를 이용하여 설치하였습니다.

wget https://github.com/dolidolih/Iris/releases/latest/download/iris_control chmod +x iris_control ./iris_control install_redroid

설치 후 ADB를 통해 Redroid에 접속할 수 있습니다.

adb connect 127.0.0.1:5555

3. 카카오톡 설치 및 Iris 앱 설정

Redroid 환경에 카카오톡 APK를 설치하고, Iris 앱을 통해 자동화 기능을 설정하였습니다.

adb install KakaoTalk.apk

Iris 앱은 메시지 수신 및 전송을 처리하며, 외부에서 Python으로 제어할 수 있도록 API를 제공합니다.

4. IrisPy2 설치 및 챗봇 개발

Python 가상환경을 설정하고, IrisPy2 라이브러리를 설치하여 챗봇을 개발하였습니다.

sudo apt install python3-pip python3-venv -y python3 -m venv venv source venv/bin/activate pip install irispy2

간단한 예제 코드는 다음과 같습니다.

from irispy2 import Bot, ChatContext 

bot = Bot(iris_url="http://127.0.0.1:3000") 

@bot.on_event("message") 
def on_message(chat: ChatContext): 
    if chat.message.msg == "!안녕": 
        chat.reply(f"안녕하세요, {chat.sender.name}님!") 
        
if __name__ == "__main__": 
    bot.run()

🐞 트러블슈팅

문제 1: ADB 연결 실패

Redroid 설치 후 ADB를 통해 연결하려고 했으나, 연결이 되지 않았습니다.

해결 방법:

Redroid 컨테이너를 재시작하고, ADB 포트를 확인하여 연결하였습니다.

docker restart redroid adb connect 127.0.0.1:5555

문제 2: Python 가상환경 생성 실패

python3 -m venv venv 명령어 실행 시, ensurepip is not available 오류가 발생하였습니다.

해결 방법:

python3-venv 패키지를 설치하여 문제를 해결하였습니다.

sudo apt install python3-venv

문제 3: 카카오톡 설치 시 서명 오류

APK 설치 시 INSTALL_PARSE_FAILED_NO_CERTIFICATES 오류가 발생하였습니다.

해결 방법:

APK에 서명을 추가하여 설치하였습니다.

apksigner sign --ks my-release-key.jks KakaoTalk.apk adb install KakaoTalk.apk

✅ 현재 구현 상태

  • 카카오톡 메시지 수신 및 자동 응답 기능 구현 완료
  • 간단한 명령어 처리 (!안녕 등) 테스트 완료
  • IrisPy2를 통한 메시지 처리 및 응답 기능 정상 작동

🔮 향후 계획

  • Google Sheets와 연동하여 출석 체크 및 보스 스케줄 관리 자동화
  • 챗봇 명령어 확장 및 관리 기능 강화
728x90
반응형