<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>카카오톡챗봇 on Simon의 AI 시대에 살아남는 법</title><link>https://mhub.uk/tags/%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1%EC%B1%97%EB%B4%87/</link><description>Recent content in 카카오톡챗봇 on Simon의 AI 시대에 살아남는 법</description><generator>Hugo</generator><language>ko-KR</language><copyright>2026 mhub. 이 블로그의 모든 글·그림과 전자책(그림으로 배우는 시리즈)의 저작권은 mhub에 있으며, 저작권자의 허락 없는 무단 복제·배포·전재를 금지합니다. 이용 허락이나 오류 제보는 문의하기로 보내 주세요.</copyright><lastBuildDate>Wed, 30 Sep 2026 08:21:00 +0900</lastBuildDate><atom:link href="https://mhub.uk/tags/%EC%B9%B4%EC%B9%B4%EC%98%A4%ED%86%A1%EC%B1%97%EB%B4%87/index.xml" rel="self" type="application/rss+xml"/><item><title>정기 자동발송 기능이 재시작마다 꺼지던 문제</title><link>https://mhub.uk/posts/s9-08-recurring-message-persistence/</link><pubDate>Wed, 30 Sep 2026 08:21:00 +0900</pubDate><guid>https://mhub.uk/posts/s9-08-recurring-message-persistence/</guid><description>&lt;p&gt;Iris 봇에는 방 관리자가 명령어로 켜고 끌 수 있는 정기 자동발송 기능이 있습니다. 일정 간격으로 짧은 이모티콘 메시지를 자동으로 전송하는 단순한 기능인데, 실제 운영 환경에서는 생각보다 까다로운 문제가 있었습니다.&lt;/p&gt;
&lt;h2 id="증상-설정해도-며칠-지나면-꺼져-있다"&gt;증상: 설정해도 며칠 지나면 꺼져 있다&lt;/h2&gt;
&lt;p&gt;관리자가 명령어로 자동발송을 켜두면 잘 동작합니다. 문제는 시간이 좀 지나고 나서 확인하면 어느새 다시 꺼져 있는 경우가 반복된다는 점이었습니다. 관리자가 실수로 끈 것도 아니고, 딱히 에러 로그가 남는 것도 아니어서 처음엔 원인을 특정하기 어려웠습니다.&lt;/p&gt;
&lt;p&gt;&lt;img alt="문제 해결 흐름" loading="lazy" src="https://mhub.uk/images/s9-series/s9-08-recurring-message-persistence-flow.png"&gt;&lt;/p&gt;</description></item><item><title>3단계 관리자 권한 구조와 계층 검사에서 빠뜨린 버그</title><link>https://mhub.uk/posts/s9-07-admin-permission-tiers/</link><pubDate>Tue, 29 Sep 2026 07:31:00 +0900</pubDate><guid>https://mhub.uk/posts/s9-07-admin-permission-tiers/</guid><description>&lt;p&gt;여러 오픈채팅방을 동시에 운영하는 봇이라면, 관리자 권한을 한 단계로 두기 어렵습니다. 이번 글은 Iris 봇에 3단계 권한 구조를 만들면서 겪은, 계층 검사 로직에서 흔히 빠지기 쉬운 함정 하나를 기록합니다.&lt;/p&gt;
&lt;h2 id="왜-3단계가-필요했나"&gt;왜 3단계가 필요했나&lt;/h2&gt;
&lt;p&gt;봇을 여러 방에서 동시에 운영하다 보니 권한을 단순히 &amp;ldquo;관리자냐 아니냐&amp;quot;로만 나눌 수 없었습니다. 그래서 세 단계로 나눴습니다.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;최상위 관리자&lt;/strong&gt;: 모든 방, 모든 기능에 접근 가능한 최고 권한&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;방별 메인관리자&lt;/strong&gt;: 방마다 정확히 한 명, 해당 방의 설정 전반을 관리&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;방별 일반관리자&lt;/strong&gt;: 방마다 여러 명 가능, 제한된 관리 기능만 사용&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;상위 등급은 하위 등급의 권한을 당연히 포함해야 합니다. 최상위 관리자는 메인관리자가 할 수 있는 일도, 일반관리자가 할 수 있는 일도 모두 할 수 있어야 합니다.&lt;/p&gt;</description></item><item><title>메신저봇R에서 Iris(파이썬)로 카카오톡 봇 포팅하기</title><link>https://mhub.uk/posts/s9-02-messengerbotr-to-iris/</link><pubDate>Thu, 24 Sep 2026 07:00:00 +0900</pubDate><guid>https://mhub.uk/posts/s9-02-messengerbotr-to-iris/</guid><description>&lt;p&gt;지난 글에서 루팅된 갤럭시 S9 위에 Termux + proot-distro로 서버 환경을 만든 이야기를 했습니다. 이번 글은 그 위에 실제로 올린 첫 번째이자 가장 중요한 서비스, 카카오톡 챗봇 &amp;ldquo;Iris&amp;rdquo; 이야기입니다.&lt;/p&gt;
&lt;h2 id="iris란"&gt;Iris란&lt;/h2&gt;
&lt;p&gt;Iris는 루팅된 안드로이드 기기에서 카카오톡 클라이언트의 로컬 메시지 DB를 직접 읽고, &lt;code&gt;app_process&lt;/code&gt;로 띄운 데몬이 HTTP API(&lt;code&gt;127.0.0.1:3000&lt;/code&gt;)와 웹소켓 이벤트를 제공하는 프레임워크입니다. 카카오톡 자체의 공식 API가 아니라, 기기에 이미 로그인되어 있는 카카오톡 앱의 데이터를 활용하는 방식이라 루팅된 기기가 전제 조건입니다.&lt;/p&gt;
&lt;h2 id="왜-포팅이-필요했나"&gt;왜 포팅이 필요했나&lt;/h2&gt;
&lt;p&gt;원래는 &amp;ldquo;메신저봇R&amp;quot;이라는 Node.js 기반 봇으로 채팅 랭킹, 아이템 경제, 경마 게임, 미니게임, 경매, AI 질문 응답 같은 기능들을 이미 운영하고 있었습니다. 이번 작업은 그 기존 코드와 기획을 Iris(파이썬) 환경으로 전면 포팅하는 것이었습니다. 단순히 언어만 바꾸는 게 아니라, 프레임워크가 제공하는 이벤트/API 모델 자체가 다르기 때문에 상당 부분을 다시 설계해야 했습니다.&lt;/p&gt;</description></item><item><title>카카오톡 챗봇에 여러 AI 모델을 자동 폴백으로 엮은 구조</title><link>https://mhub.uk/posts/it-05-kakao-bot-ai-fallback/</link><pubDate>Sun, 20 Sep 2026 18:20:00 +0900</pubDate><guid>https://mhub.uk/posts/it-05-kakao-bot-ai-fallback/</guid><description>&lt;p&gt;이 휴대폰 서버의 핵심 기능 중 하나는 카카오톡으로 말을 걸면 AI가 답해주는 개인용 챗봇입니다. 처음엔 모델 하나만 붙여도 될 줄 알았는데, 무료 티어의 일일/분당 한도에 자주 걸리면서 &amp;ldquo;한도가 다 찼을 때 챗봇이 그냥 조용해지는&amp;rdquo; 문제를 겪었고, 이를 해결하기 위해 여러 AI 모델을 자동으로 오가는 폴백 구조를 만들게 됐습니다.&lt;/p&gt;
&lt;h2 id="문제-모델-하나에-의존하면-챗봇이-먹통이-된다"&gt;문제: 모델 하나에 의존하면 챗봇이 먹통이 된다&lt;/h2&gt;
&lt;p&gt;무료 API 한도는 모델마다 다르게 책정되어 있고, 사용량이 몰리는 시간대에는 순식간에 소진됩니다. 한 모델만 쓰면 한도를 넘는 순간부터 챗봇이 응답하지 않는 시간대가 생깁니다. 개인용으로 24시간 돌리는 챗봇이라면 이건 꽤 치명적인 문제였습니다.&lt;/p&gt;</description></item></channel></rss>