This page is only available in Korean for now.

/안녕이라는 메시지에 보낸 사람의 이름으로 인사하는 봇을 만들어 볼게요. 설치와 초기 설정을 마쳤다고 가정해요.

1. 프로젝트 만들기

  1. 프로젝트 탭에서 새 프로젝트를 눌러요.
  2. 이름에 hello-bot을 적고 다음을 눌러요.
  3. 언어는 JS(NeonJS) 를 골라요.
  4. 이벤트는 기본으로 골라져 있는 onMessage를 그대로 두고 다음을 눌러요.
  5. JS(NeonJS) 설정은 그대로 두고 생성을 눌러요.

목록에 hello-bot 카드가 생겨요. 아직 컴파일하지 않아서 상태가 컴파일 필요로 보여요.

2. 코드 작성하기

카드를 눌러 펼친 뒤 수정을 누르면 에디터가 열려요. hello-bot.js에는 고른 이벤트의 함수 틀이 들어 있어요.

hello-bot.js
/*
 * hello-bot.js created with Project StarLight ✦
 */

/**
 * 메세지가 수신 되었을 때 이 함수가 호출됩니다.
 */
export function onMessage(event) {
    
}

함수 안을 아래처럼 채워요.

hello-bot.js
export function onMessage(event) {
    if (event.message === "/안녕") {
        event.room.send(`${event.sender.name}님, 안녕하세요!`);
    }
}
  • onMessage는 메시지가 올 때마다 불려요. NeonJS 프로젝트에서는 앞에 export가 있어야 해요.
  • event.message는 받은 메시지 내용, event.sender.name은 보낸 사람 이름이에요.
  • event.room.send()는 메시지가 온 방에 답장을 보내요.

이벤트 객체의 전체 구조는 이벤트 함수에 정리했어요.

3. 컴파일하기

에디터 위쪽의 컴파일 버튼을 눌러요. 열린 파일을 모두 저장한 뒤 컴파일하고, 성공하면 컴파일 완료! 가 떠요.

컴파일에 실패하면 자세히를 눌러 오류 위치를 확인하세요. 에디터 서랍(☰)의 문제 탭에서도 문법 오류를 볼 수 있어요.

4. 디버그 룸에서 시험하기

에디터 위쪽의 디버그 룸 버튼을 눌러요. 카카오톡 없이 이 프로젝트에만 메시지를 보내는 채팅 화면이에요.

/안녕을 보내면 봇(BOT)의 말풍선으로 debug_sender님, 안녕하세요!가 돌아와요. 디버그 룸의 보낸 사람 이름은 아래 시트를 끌어 올려 바꿀 수 있어요. 자세한 내용은 디버그 룸을 보세요.

팁

디버그 룸은 프로젝트를 켜지 않아도 동작해요. 코드를 고칠 때마다 컴파일 → 디버그 룸을 반복하며 시험하면 편해요.

5. 프로젝트 켜기

프로젝트 탭으로 돌아가 hello-bot 카드의 스위치를 켜요. 상태가 실행 중으로 바뀌면 카카오톡 메시지에 반응하기 시작해요.

6. 카카오톡에서 시험하기

다른 사람(또는 다른 기기의 계정)에게 이 기기의 카카오톡으로 /안녕을 보내 달라고 해요. 알림이 오면 StarLight가 알림의 답장 기능으로 인사를 보내요.

중요

StarLight는 카카오톡 알림을 읽어서 동작해요. 아래 조건이 맞아야 해요.

  • 카카오톡의 알림이 켜져 있고, 알림에 메시지 내용이 보여야 해요.
  • 그 채팅방을 기기에서 열어 두고 있으면 알림이 오지 않아요.
  • 내가 보낸 메시지에는 알림이 오지 않아서 봇이 반응하지 않아요.
  • 방 이름으로 다른 방에 보낼 때(Api.replyRoom() 등)는 앱이 시작된 뒤 메시지를 한 번이라도 받은 방에만 보낼 수 있어요.

답장이 오지 않으면 문제 해결을 차례로 확인해 보세요.

오류가 나면

이벤트 함수에서 처리하지 않은 오류가 나면 로그에 실행 중 에러 발생이 남고, 기본 설정에서는 프로젝트가 꺼져요. 코드를 고쳐 다시 컴파일한 뒤 켜세요. 이 동작은 프로젝트 설정의 오류 발생시 비활성화에서 끌 수 있어요.

다음 단계

  • 프로젝트 관리 — 설정, 정렬, 삭제 등 프로젝트를 다루는 방법이에요.
  • NeonJS — 모듈, fetch, Java API처럼 스크립트에서 쓸 수 있는 기능을 익혀요.
  • 스크립트 API — Log, DataBase, FileStream 같은 기본 API예요.