• 목록
  • 아래로
  • 위로
  • 1
  • title: 황금 서버 (30일)humit
  • 조회 수 1637

저번 시간에는 정적인 응답을 보여주는 방법에 대해서 살펴보았습니다.

이번 시간에는 이러한 정적인 응답을 어떻게 하면 동적인 응답으로 바꾸어서 보여줄 수 있는지에 대해서 살펴보도록 하겠습니다. 동적인 응답의 대표적인 예로 주사위 기능을 추가해보도록 합시다.

 

먼저 이전에 정적인 응답을 만들 때처럼 로그인을 하고, 버튼 추가하기 링크를 클릭합니다. 그리고 아래와 같이 폼의 내용을 채웁니다.

01.jpg

 

일단 이렇게 하면 '주사위'에 대한 기능이 추가가 되었지만 카카오톡 상에서는 이 기능을 아직 사용할 수 없습니다. 왜냐하면 우리는 '주사위'에 해당하는 keyboard를 생성하지 않았기 때문이지요. 간단하게 Default keyboard에 '주사위'를 추가하도록 합시다. 이전 강의대로 따라오셨다면, keyboard.config.php 파일을 받으셨을 때 아래와 같이 '안녕'과 '자기소개'라는 문구가 써져있을 겁니다.

02.jpg

 

그래서 아래처럼 이 파일에 '주사위'라는 문구를 배열에 추가하고 서버에 올립니다.

03.jpg

 

그러면 이제 처음 화면에서 '주사위' 버튼이 추가가 되어 있는 것을 볼 수 있습니다.

04.jpg

 

'주사위' 버튼을 누르면 아래와 같이 정적인 응답만을 볼 수 있습니다.

05.jpg

 

이제 이 파일을 수정해서 동적인 응답을 보여줄 수 있도록 하겠습니다. 일단 관리자 페이지로 가시면 '파일명 찾기'라는 링크가 있습니다. 이 링크를 클릭합니다. 그러면 아래 사진과 같이 텍스트를 입력할 수 있는 부분과 버튼이 있는 것을 확인할 수 있습니다.

06.jpg

 

이 파일명 찾기는 찾고자 하는 버튼의 이름을 입력하면 해당하는 파일이 있는지 체크하고 있으면 다운로드를 받을 수 있게 하고, 파일이 없으면 에러를 표시하도록 되어 있습니다. 그래서 이렇게 다운로드 받은 파일을 수정해서 서버 파일을 덮어쓰기 하면 됩니다.
여기에서는 '주사위'에 해당하는 기능을 수정할 것이므로 '주사위'를 입력하고 버튼을 눌러서 파일을 다운로드 받습니다. 그래서 다운로드 받은 파일을 열면 아래와 같은 화면을 볼 수 있습니다.

07.jpg

 

여기에서 주사위를 보여줄 수 있도록 하기 위해서 소스코드를 아래처럼 수정해서 저장을 한 후에 서버에 업로드합니다.

<?php
// content : 주사위
use \kakao\Msg;
use \kakao\Msg\Message;
use \kakao\Keyboard;

$dice_num = mt_rand(1, 6);

echo new Msg(
	new Message(
		"주사위의 눈의 수는 {$dice_num}입니다.",
		NULL,
		NULL
	),
	TRUE
);

이렇게 하면 주사위 기능이 구현이 끝났습니다. 이제 카카오톡 상에서 확인을 해봅시다.

08.jpg

 

잘 작동하는 것을 확인할 수 있습니다. 이렇게 해서 어떻게 동적인 응답을 만들 수 있는지에 대한 방법을 살펴보았습니다. 이를 응용하면 다양한 기능을 구현할 수 있으므로 잘 이용하시기 바랍니다.

 

작성자
title: 황금 서버 (30일)humit 119 Lv. (0%) 1146060/115200000EXP

Study For Us Hosting 1기 모니터링 관리자 (16.12.01 ~ 17.01.08.)

C++, Python, PHP를 주로 사용하며 알고리즘, DL, 해킹 쪽에 관심이 있습니다.

휴학생입니다.

티스토리 블로그 : http://humit.tistory.com/

카카오톡 봇 : http://pf.kakao.com/_Efrbu/chat

지식인 프로필 : https://kin.naver.com/profile/jhjang1005

댓글 1

ShiningLune
잏 이거 써봐야겠네요
comment menu
2016.08.22. 06:42

신고

"ShiningLune님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 968
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4643
78 3. 문자열 처리 (1) - 문자열 접근 및 검색방법 4 image 이니스프리 이니스프리 19.12.09.20:00 1188
77 6. 리스트와 관련된 기본함수 및 메서드 7 image 이니스프리 이니스프리 19.12.10.21:16 2105
76 4. 문자열 처리 (2) - 문자열 조작에 대한 기본함수 및 메서드 1 image 이니스프리 이니스프리 19.12.12.02:27 565
75 [번외편] 네이버 동영상에서 자막을 파일로 추출하는 방법 2 image 이니스프리 이니스프리 19.12.25.22:34 5668
74 9. [정리] 파이써닉한 파이썬 문법 팁 for COS Pro image 이니스프리 이니스프리 20.01.04.23:47 1017
73 [Requests] Selenium을 이용한 Cloudflare의 우회 8 image 이니스프리 이니스프리 20.01.08.19:51 6318
72 [python-telegram-bot] 4096자 글자수 제한을 우회하는 방법 image 이니스프리 이니스프리 20.01.12.11:25 2104
71 25. GHS였츄 3 image 국내산라이츄 국내산라이츄 20.01.15.02:02 1013
70 [BeautifulSoup] 자식태그를 제거하기 - .decompose() & .extract() 10 image 이니스프리 이니스프리 20.01.16.00:07 9279
69 [Java] 아무튼 대충 알아보는 NPE 예방법! 네모 네모 20.01.21.11:50 2485
68 특별편-보건용 마스크란 2 image 국내산라이츄 국내산라이츄 20.01.30.00:14 1159
67 21. [OpenPyXL] 엑셀 문서를 열고 시트에서 셀의 값을 얻기 3 image 이니스프리 이니스프리 20.02.01.23:46 1280
66 22. [OpenPyXL] 엑셀 문서 저장하기 / 시트 추가하기 / 셀에 입력하기 14 image 이니스프리 이니스프리 20.02.02.00:46 5596
65 [jQuery] jQuery로 Checkbox 제어하기 1 네모 네모 20.03.23.16:06 932
64 [mod_rewrite] Apache2 의 mod_rewrite 사용 시 index~ 만 Rewrite가 되지 않을 경우 네모 네모 20.03.23.16:07 763
63 [XE] 회원가입 시 사용자 IP를 설명란에 기록하기 3 네모 네모 20.03.23.16:08 745
62 [XE] 관리자 권한을 보유한 경우에만 애드온 작동하도록 하기 2 네모 네모 20.03.23.16:08 842
61 [샷투샷] 오티 3 image 갱생협스 갱생협스 20.04.01.16:04 606
60 ['Till Shutter Die] Chapter I. 카메라의 종류 12 image 갱생협스 갱생협스 20.04.02.11:22 779
59 [생화학] 세포호흡 Part I (에너지 투자기) 2 image sweetenpotato sweetenpotato 20.04.10.01:24 1209