중국 직장인의 위챗 자동화 니즈
저는 지금 중국에서 주재원으로 근무하고 있습니다.
중국에서 근무하는 직장인이라면 위챗(WeChat)의 파워는 누구보다 잘 알 수 있습니다. 메신저로 소통하는 것은 물론 물건을 살 때도 위쳇 페이로, 간단한 앱은 또 위쳇 안에서 돌아가는 등 말 그대로 중국인들의 생활에 완전히 녹아들어 있습니다.
그런 까닭에 제가 요즘 운영하고 있는 카톡봇을 위쳇에도 똑같이 구현하는 것은 제 염원이라고 할 수 있을 듯합니다. 그래서 시도해 봤는데...
오늘은 이 위챗 챗봇 개발에 도전했던 실제 경험담을 공유하려 합니다.
메신저봇R로 맛본 자동화의 편리함
우리는 메신저봇R을 활용한 카카오톡 자동화로 많은 성공체험을 했습니다. 스터디장님의 잘 만들어진 JavaScript 코드 기반으로 시작하다 보니 시작부터 많은 성공 경험을 할 수 있었습니다.
저 또한 한 ↔ 중번역, 어색한 문법 수정, 웹사이트 요약, 등의 기능을 구현해서 잘 사용해 왔습니다.
"위챗에서도 이 메신저 자동화가 가능하다면 얼마나 편할까?"
이런 생각이 위챗 챗봇 개발 프로젝트의 시작이었습니다.
메신저봇R의 한계 발견
카카오톡 전용 서비스의 아쉬움
메신저봇R에서 활성화된 봇의 설정을 누르면 지원하는 메신저를 확인할 수 있습니다.
이때 볼수 있는 메신저는 카카오톡 밖에 없는 것을 확인할 수 있습니다. 국내 개발된 앱이다 보니 카카오톡에 특화되어 있는 것이라 생각되는데, 해외 거주자 입장에서는 아쉬울 수밖에 없었죠.
안드로이드 알림 시스템 분석
그럼 다른 접근 방법은 없을까? 메신저봇R의 동작 원리를 분석해보니 핵심은 다음과 같았습니다:
안드로이드 알림 가로채기(Notification Intercept)
조건별 자동 응답 처리
JavaScript 기반 스크립트 실행
이런 원리라면 다른 앱을 이용해서도 위챗 챗봇을 만들 수 있을 것 같았습니다.
Tasker를 이용한 대안 모색
안드로이드 자동화의 끝판왕, Tasker 발견
구글링 결과 Tasker라는 강력한 안드로이드 자동화 앱을 발견했습니 다.
메신저봇R과 유사한 알림 처리 기능을 제공한다는 정보를 확인하고 바로 도전해보기로 했죠.
위의 번개모양의 아이콘이 Tasker, 그리고 알림 정보를 Intercept 하기 위해 Tasker와 함께 설치한 AutoNotification 앱입니다.
Tasker의 복잡한 인터페이스
하지만 Tasker를 실제로 사용해보니... 정말 User Unfriendly한 앱이더군요. 😅
※ 메신저봇R은 코드창을 띄워주니 더 User Unfriendly 하다면 더 User Unfriendly 하겠지만... 요즘은 오히려 코드를 맨날 봐서 그런지 코딩창이 오히려 더 친숙하다능...
뭘 해야 할지 모를 휑한 메뉴
버튼 하나만 누르면 확 뜨는 복잡한 버튼 & 메뉴 구조
직관적이지 않은 설정 방식
초보자에게는 진입 장벽이 높은 인터페이스
그래도 위챗 자동화라는 목표를 위해 포기할 수는 없었습니다.
위챗 챗봇 개발 시행착오 과정
AutoNotification 플러그인 설치
Tasker만으로는 알림 처리에 한계가 있어서 AutoNotification 플러그인을 추가로 설치했습니다. 이 조합이 메신저 자동화의 핵심 도구가 될 예정이었죠.
1단계: 위챗 알림 가로채기 성공 ✅
몇 시간의 시행착오 끝에 위챗 메시지 인터셉트에 성공했습니다!
성공 요소들:
위챗 메시지 내용 추출
발신자 정보 확인
실시간 알림 감지
2단계: Webhook을 통한 번역 시스템 연동 ✅
기존에 구축해둔 번역 자동화 시스템과 Webhook으로 연결하는 작업도 성공적으로 완료했습니다. 위챗 메시지가 들어오면 자동으로 번역되는 시스템까지는 완벽하게 작동했죠.
3단계: 자동 응답 시도... 예상 밖의 문제 발생 ❌
이제 AutoNotification의 Reply 기능으로 번역 결과를 전송하는 일만 남았다고 생각했는데...