0823 개발일지

이나겸·2022년 8월 23일
0

1. 개발기록

카카오 챗봇을 만들어서 영수증을 다운로드 받을 수 있게 하기
챗봇 서버로는 구름IDE의 Flask 서버를 사용했다.
카카오 I 빌더에서 봇을 하나 만들고, 카카오 채널 관리자에서 채널을 하나 만들어서 연결해준다.

챗봇 관리자센터 > 설정 > 챗봇관리 에서 카카오톡 채널을 연결해준다.

시나리오에서 블록추가
번호판은 개인마다 다 다른데 어떻게 하지? 하고 고민하다가, 엔티티 등록을 발견했다.
사용자 발화는 가능하면 사용자가 입력할 거 같은 많은 패턴으로 넣어주는 것이 좋다.

다른 간단한 응답이 필요하면 카카오챗봇에서 제공하고 있는 블록응답을 사용해도 되지만,
자동차 차넘버가 들어왔을 때 번호에 대한 값들을 제공할 것이기 때문에 스킬데이터를 사용한다.
URL에는 route해준 페이지까지 넣어서 전체 주소를 입력해주면 된다.

일단 잘 연결이 되었는지 확인하기 위해 Flask의 main.py 에는 아래와 같이 코드를 넣어줬다.
/download_receipt 을 보면 request.get_json() 으로 봇에서 페이지로 전달된 내용을 가져올 수 있다.
dictionary 형태로 전달되기 때문에 그 중에서 필요한 내용을 저렇게 가져오면 된다.

from flask import Flask, request, jsonify

application = Flask(__name__)

@application.route("/")
def hello():
    return "Hello goorm!"

@application.route("/download_receipt",methods=['POST'])
def re():
    body = request.get_json()
    print(body)
    print(body['userRequest']['utterance'])
    res = {
        "version": "2.0",
        "template": {
            "outputs": [
                {
                    "simpleText": {
                        "text":"hi"
                    }
                }
            ]
        }
    }

    # 답변 전송
    return res

if __name__ == "__main__":
    application.run(host='0.0.0.0', port=80, threaded=True)

현재는 발화패턴만 맞으면 무조건 'hi'를 찍도록 해놔서전달하면 'hi'가 출력된다.

2. 느낀점

오랜만에 봇을 만들어봤는데, 기억이 새록새록 난다.
원래 js로 window.open 으로 페이지가 열리면 자동으로 함수가 실행되게 했는데 잘 안된다.
(제대로 알고 쓰는게 아니니 그럴 수 밖에..)
그래서 PIL로 직접 영수증 이미지를 만들어서 진행할 예정.

0개의 댓글