Skip to content

Feature/kakao done#35

Merged
eastlight82 merged 30 commits intomainfrom
feature/kakao-done
Feb 8, 2026
Merged

Feature/kakao done#35
eastlight82 merged 30 commits intomainfrom
feature/kakao-done

Conversation

@eastlight82
Copy link
Copy Markdown
Collaborator

@eastlight82 eastlight82 commented Feb 8, 2026

Context
투표가 완료되었을 때(모두 투표 참여 or 최후통첩에서 "저도 그날 좋아요!" 클릭) 결과를
보여주는 스킬 API를 구현합니다.
스케줄러(KakaoWendyScheduler)에서 done_all_voted 이벤트를 전송하는 로직은 이미
존재하지만, 해당 이벤트를 받아 동적 응답을 생성하는 스킬 엔드포인트가 없습니다.

수정 파일

  1. KakaoWendyService.java

경로: src/main/java/com/workingdead/chatbot/kakao/service/KakaoWendyService.java

  • buildVoteCompletionMessage(Long voteId) 메서드 추가
    • VoteResultService.getVoteResult(voteId) 호출
    • 상위 3순위 포맷팅 (날짜: "M/d(요일)", 시간대: 점심/저녁)
    • 투표자 이름 + 우선순위 표시 (예: "최윤서(2), 이상후(1), 정하연")
    • 메시지 형식:
      투표가 완료됐어요! :D

📌1순위 11/25(화) 점심
투표자: 최윤서(2), 이상후(1), 정하연
📌2순위 ...
투표자: ...
📌3순위 ...
투표자: ...

이제 몇 시에 만날지 정해볼까요?🙂

  • formatDateKorean(LocalDate date) private 헬퍼 추가
    • LocalDate → "M/d(요일)" 형식 (예: "11/25(화)")
  1. KakaoSkillController.java

경로: src/main/java/com/workingdead/chatbot/kakao/controller/KakaoSkillController.java

  • POST /kakao/skill/notify/done 엔드포인트 추가
    • 이벤트 API(done_all_voted)로 트리거되는 전용 블록
    • request.getParam("voteId")로 voteId 수신
    • kakaoWendyService.buildVoteCompletionMessage(voteId) 호출
    • textWithQuickReplies로 응답:
      • "좋아요" → messageText "좋아요"
      • "재투표할래요" → messageText "웬디 재투표"
      • "종료할게요" → messageText "웬디 종료"

eastlight82 and others added 30 commits January 19, 2026 10:28
Feature/kakao skills 카카오 스킬 서버 - 챗봇 연결
feat: TimePoll 스케줄러 구현 (집계/독촉/최후통첩/자동확정) (#31)
@eastlight82 eastlight82 merged commit 6abd44d into main Feb 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants