소개
지피터스 멤버들에게 스터디를 더 잘 참여하도록(?) 멱살을 부여잡아주는(?) 멱살봇을 만들고자 함
여행가J님이 멤버들 한 명 한 명 톡방에서 멘션하고, 출석 안 하면 전화해서 왜 안왔냐고 하면서 웃으면서 멱살캐리(?) 하셔서 멤버들의 참여율이 높았음
희망자에 한해 멱살을 대신 잡아드려요
진행 방법
어떤 채널이 가장 좋을까?
멤버에게 알림을 주면서도, 멤버의 입력(인증?)을 받아야 하므로 일방형 채널은 쓰지 않기
ex) 문자로 알림만 주면, 멤버가 인증할 수 없음
이메일은 묻혀서 잘 안볼 것 같음
카톡은 API 제공을 안하므로 불가능 → 텔레그램이면 어떨까?
버블로 UI 구현하기?
결론 - 일단 텔레그램!
워크플로 초안
멤버가 전화번호, 수강스터디, 스터디요일, 텔레그램 ID 입력 후 강도 (상,중,하), 톤(강하게, 부드럽게) 선택하여 폼 제출
강하게 → 설마 안하시게요? 실망이에요. 이런느낌이고
부드럽게 → 하실 수 있어요! 이거 한 번 읽어봐요!! 해볼 수 있죠? 아자아자 화이팅! 이런 느낌
미리 기획된 독촉 항목이 필요하다
아침 → 사례글 1개 보내주기 (읽고 댓글남기세요. 이 사례는 “이 포인트”로 읽으세요)
점심 → 댓글 안남긴 사람한테 재촉하기 (댓글 남기세요. 화장실 가서 똥 싸는 척 하면서 사례글 읽고 댓글 남기세요)
퇴근 후 → 퇴근 잘 하셨나요? 이제 사례글 쓰러 가야죠.
스터디 요일 2일 전 → 사례글 썼나요? 설마 이번 주 안 써요…?
스터디 요일 당일 → 오늘 좋은 발표 나눠주실거죠? 발표 꼭 하실거죠? 엥 설마 안하시게요….?
관리자 화면도 필요?
닿이 아침마다 보내줄 사례글 선발해서 올리기
멤버들 반응 살피기
얻은 인사이트
왠지 최소 5명 이상은 원할 것 같다
멱살 강도를 초반에 선택하게끔 하면 좋겠다 (엄하게 vs 부드럽게 / 잦은 빈도 vs 가끔)
대시보드? 처럼 함께 달리는 게 시각적으로 보이면 좋겠다
클로드와 기획 구체화
멤버에게 기본 정보 (텔레그램 chat_id, 이름, 스터디명, 스터디요일 등)를 받는 UI가 필요 → 버블
그 데이터를 저장해둘 곳이 필요(DB) → 버블
특정 요일, 시간에 트리거 되어야 함 → n8n 스케줄링
매일 다른 멘트가 나가야 함 → n8n에서 LLM 사용
관리자가 사례글 DB를 쌓아야 함 → 버블
클로드와 워크플로 설계 구체화
텔레그램 챗봇 만들기
클로드에게 물어가면서 했어요
@BotFather을 검색해서/start(대화시작)/newbot->myeoksal_bot차례로 입력하여 새로운 봇을 생성
버블 DB 설계하기
'스터디' 데이터 설계
목표 -> 스터디 별 목표에 따른 독려 메시지, 과제 추천 등을 해주기 위함
요일 -> n8n에서 스케줄링 할 때 오늘의 요일과 스터디의 요일을 비교하도록
버블 UI 설계
(참고) 텔레그램 나만의 Chat_id 얻는 법
@raw_info_bot을 검색해서RawDataBot을 선택/start입력하면 내 고유 chat_id를 받을 수 있음이 chat_id 만 있으면 특정 봇이 나한테 메시지를 보낼 수 있음
버블에서 API를 외부로 쏴주기 + N8N에서 버블 노드 설정하기
멤버가 버블에서 버튼을 클릭하면 n8n 워크플로가 트리거 되어야 함
내 버블 앱에서 API key를 생성하기
참고) 버블에서 API를 쏘는 거는 유료 버전 필요 (외부 API를 받는 거는 무료도 가능)
버블 API 설정 따라하기
n8n에서 버블 노드 커넥션 설정하기
N8N 설계
버블 워크플로 설계
멱살 잡히러가기 버튼을 누르면
멤버 create
멤버가 입력한 chat_id와 name을 임시저장소 (custom state)에 저장해둠
회원가입 구조가 아니기 때문에, 멤버 입력값을 다음 화면에서 불러오기 위해
텔레그램 실행되고 멱살봇 채팅이 열림
채팅 Start 누르면 비로소 멱살봇이 멤버에게 메시지를 보낼 수 있게 됨
아래 이미지처럼 테스트 사례글 받기 버튼 누르면, n8n 워크플로가 웹훅으로 트리거됨!
테스트 사례글 한 개가 날아옴
버블 API 연결
향후 계획
멤버가 등록할 때 강도와 빈도를 선택하는 UI 추가
일단 특정 시간이 되면 등록한 멤버 전체에게 사례글이 발송되도록 구현이 되어있음
멤버의 응답(과제인증 등)에 따른 조건 처리한 워크플로 설계
LLM 또는 AI agent를 써서 멤버의 선택(강도, 빈도)에 따른 각기 다른 멘트로 텔레그램 채팅이 발송되도록 처리
으아 사례는 진작에 만들었는데 겨우 급하게? 사례글 씁니다..
다음 번 고도화해서 올게요ㅜ