본문 바로가기

컴퓨터/기타

Project 2.0 카카오톡 자동 응답봇 만들기[3]

반응형

저번 시간에는 서버에 세팅을 하고 카카오톡 서버와 연결시키는 과정에 대해서 살펴보았습니다. 아직 서버 세팅이 되지 않으신 분은 이전 글을 참조해서 세팅을 하시기 바랍니다.


이번 시간에는 저번 시간에 만들어 놓은 Keyboard 버튼에 따른 응답을 만들어보도록 하겠습니다.


일단 앞 시간에 BASE_URL로 설정해 놓은 주소로 접속하시면 아래와 같은 로그인 화면을 보실 수 있습니다. 여기에서 이전 시간에 입력한 ID와 비밀번호를 입력해서 로그인을 하시면 됩니다.



로그인이 성공했다면 아래와 같이 관리자 페이지를 볼 수 있습니다. 그리고 로그인이 실패했다면 에러가 뜨면서 다시 로그인을 하라는 창이 뜹니다. 만약 계정 정보를 잊어버리신 경우에는 admin.config.php 파일을 열어보시면 ID와 비밀번호에 대한 값을 알 수 있으므로 거기에 나온 값으로 로그인을 하시면 됩니다.


이제 버튼 추가하기 링크를 클릭합니다. 그러면 다음과 같은 양식 폼을 볼 수 있습니다.


물론 라벨이 달려 있지만, 양식 폼에 대한 내용에 대한 간략한 설명을 드리도록 하겠습니다.


'명령어'의 경우에는 어떤 키보드를 눌렀는지를 받아들이는 부분입니다. '표시할 메시지'의 경우에는 그에 대한 응답을 텍스트로 보여주는 역할을 합니다.


이미지를 첨부해서 응답을 보내시려면 '이미지를 사용하겠습니다.'를 누르셔야 합니다. 기본적으로 사진을 업로드를 해서 사용하는 것으로 하고 있지만, 'URL로 사용하겠습니다.'를 누르시면 서버에 사진을 올리지 않고, URL 주소에 있는 이미지를 사용하게 됩니다. '이미지 width'나 '이미지 height'의 경우에는 단위가 px 단위입니다. 참고로 현재 사진의 포맷은 JPEG와 PNG를 지원하며, 권장 사이즈는 720x630 px이며, 권장 용량은 500KB라고 합니다.(https://github.com/plusfriend/auto_reply#63-photo)


다음으로 버튼으로 된 링크를 첨부하기 위해서는 '링크를 사용하겠습니다.'를 누르시고, '이동할 링크'에는 말 그대로 이동할 링크 주소를 입력하고, '표시할 내용'에는 링크에서 표시될 텍스트를 사용하시면 됩니다.


마지막으로 Keyboard의 경우에는 'Default keyboard를 사용합니다.'를 클릭할 경우 처음 세팅 과정에서 사용한 Home keyboard로 사용을 합니다. 그리고 체크를 하지 않고, 아래 텍스트 상자도 비어 있을 경우 미디어 업로드(사진, 동영상, 음성)를 할 수 있게 되어 있습니다. 그리고 텍스트 상자에 무언가를 작성할 경우 해당하는 키보드들이 응답이 끝난 다음에 나타납니다. 여기서 나타나는 키보드는 enter로 구분합니다.


앞에서 '안녕'과 '자기소개'를 Default Keyboard로 사용했기 때문에 '안녕'과 '자기소개'에 대한 값을 넣어주도록 하겠습니다. 이 부분은 예시이니 자신의 상황에 맞게 사용을 해주시면 됩니다.


입력이 성공했다면 아래 그림과 같은 화면을 보실 수 있습니다.


이렇게 하면 서버에서 할 수 있는 작업은 모두 끝났습니다.


이제 카카오톡에서 잘 동작하는지를 확인해보도록 하겠습니다.


잘 작동하는 것을 볼 수 있습니다. 이렇게 해서 간단한 키워드 정적 응답 봇을 만들어 보았습니다. 참고로 동적인 응답을 만들기 위해서는 직접 PHP 파일을 수정하셔야 합니다.

반응형
  • 헬프미 2016.11.28 01:47 댓글주소 수정/삭제 댓글쓰기

    버튼 추가하기가 안됩니다..
    입력을 다 하고 제출을 하면
    "~~에 성공적으로 쓰여졌습니다"
    이 화면이 떠야 정상인 것 같은데, 저는 그냥 공백이네요.. 아무것도 안뜹니다 ㅠㅠ
    권한은 아주 극단적으로 777로 모두 부여를 했고, mod_rewrite까지 정상적으로 설치된 것 같은데(Home keyboard는 정상적으로 추가됩니다)
    뭐가 문제인지 모르겠네요...
    제가 수동으로 resource/msg/ 폴더에 md5함수를 써가면서 파일명을 만들어서 올바른 메세지파일을 만들고 나면 제대로 작동을 하긴 하는데, 그렇게 되면 사용자의 입력 타입을 buttons로 밖에 못해서... 제가 원하는 건 사용자의 text타입에 대한 자동 응답 API거든요..ㅠㅠ

  • 도와줘요 2017.05.28 09:06 댓글주소 수정/삭제 댓글쓰기

    auto_reply의 파일은 모두 777을 부여하고, "~~에 성공적으로 쓰여졌습니다." 가 떠야되는거같은데 저는 제출버튼을 누르면 바로 http://(ip)/auto_reply/admin.php?action=add&post=1 로 이동되며 크롬에서 페이지가 작동하지 않습니다가 뜹니다... 어떻게 해야할까요?