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

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

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

 

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

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%) 1192720/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님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 마스터 24.09.05.16:25 3239
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 10614
219 1. 반복문 (1) - while 문 7 image 이니스프리 이니스프리 19.12.06.20:50 2686
218 (序) Python 강좌를 시작하며... 2 image 이니스프리 이니스프리 19.12.05.21:55 706
217 [Pillow] 파이썬 Pillow 라이브러리를 이용하여 이미지의 배경을 transparent하게 만들기 11 image 이니스프리 이니스프리 19.08.04.13:40 8025
216 [번외편 - 법률] 나무위키의 서술 중 법률용어의 사용에 있어 바로잡아야 할 부분 image 이니스프리 이니스프리 19.07.17.22:44 535
215 [번외편 - 유튜브] Youtube API를 이용하거나 또는 이용하지 않고 채널ID를 추출하는 방법 2 image 이니스프리 이니스프리 19.07.16.17:55 2938
214 24. 메탄올과 에탄올 듀오였츄 14 image 국내산라이츄 국내산라이츄 19.07.07.22:10 1398
213 [Selenium] Selenium에서 send_keys를 막아놓은 경우 해결책 이니스프리 이니스프리 19.07.04.05:52 4934
212 웹디자인 第三강 <head> 上 2 image PRASEOD- 19.05.03.14:34 1012
211 [2019 고1] 통합사회_ 내멋대로 정리 끝 {협스} 16 갱생협스 갱생협스 19.04.26.21:30 2608
210 [Git] 자주 사용하는 Git 명령어 8 네모 네모 19.04.26.19:05 1361
209 웹디자인 第二강 html5로 구조 짜보기 9 image PRASEOD- 19.03.25.17:03 929
208 23. 완충용액이츄 2 image 국내산라이츄 국내산라이츄 19.03.24.02:35 2847
207 웹디자인 第一강 홈페이지는 어떻게 만드는건가 6 PRASEOD- 19.03.19.22:29 965
206 22. 혈액입니츄 1 image 국내산라이츄 국내산라이츄 19.02.05.01:35 1082
205 [번외편 - 아미나] Basic Youtube Title Widget 1.0에서 처음에 엑박으로 뜨는 경우의 해결책 3 image 이니스프리 이니스프리 18.12.15.23:02 931
204 [번외편 - 아미나] 아미나의 회원 이미지와 관련하여 x2 3 image 이니스프리 이니스프리 18.12.10.19:57 890
203 21. 혈액형입니츄 12 image 국내산라이츄 국내산라이츄 18.12.08.04:58 1384
202 [번외편 - 법률] 현행 저작권법 제30조(사적이용을 위한 복제)에 대하여 - 음원 다운로더의 처벌과 관련하여 6 이니스프리 이니스프리 18.12.07.14:16 1446
201 [번외편 - 아미나] 그누보드/아미나에서 게시글의 날짜를 최종수정일로 변경하고, 목록스킨 및 위젯을 최종수정일 순으로 정렬하기 2 image 이니스프리 이니스프리 18.11.11.22:36 2723
200 [번외편 - 구글뉴스] 리뉴얼된 구글뉴스에서 RSS 피드를 생성하는 방법 6 image 이니스프리 이니스프리 18.10.07.17:58 3683