Python, LINEbot【번외편】~만약 아기 옷의 가게를 하고 있으면~

경위



전회 Python, Heroku를 이용한 LINEbot(앵무새 반환)을 작성해 보았다!
좋으면 그쪽의 기사도 읽어 주시면 다행입니다!
Python과 Heroku에서 LINEBOT을 만들어 보았습니다.

거기서 더 조사해 보면 LINEdevelopers를 조사해 가면 많이 놀 수 있다고 느꼈기 때문에 조금만 어레인지한 것을 만들어 보았습니다. 테마는 무엇이든 좋았습니다만, 올해 아기가 태어났기 때문에 「아기 옷의 가게」라면 했습니다(웃음)

※이번은 홈페이지 있는 내용을 상정하고 있습니다.

LINE 편집



기본 설정



LINEdevelopers 기본 설정에서 LINEbot 아이콘과 인사말을 편집합니다.

※아이콘은 곧 크리스마스이므로 산타로 하고 있습니다

인사말 메시지 설정



친구가 등록되었을 때 인사말을 편집합니다.

지정된 메시지를 보내도록 동선을 만듭니다.
※덧붙여 지정된 메시지 이외는 전회와 같이 앵무새 반환됩니다.

나머지는 소스 코드를 만지기 만



main.py
from flask import Flask, request, abort

from linebot import (
    LineBotApi, WebhookHandler
)
from linebot.exceptions import (
    InvalidSignatureError
)
from linebot.models import (
    MessageEvent, TextMessage, TextSendMessage,
)
import os

app = Flask(__name__)

#環境変数取得
YOUR_CHANNEL_ACCESS_TOKEN = os.environ["YOUR_CHANNEL_ACCESS_TOKEN"]
YOUR_CHANNEL_SECRET = os.environ["YOUR_CHANNEL_SECRET"]

line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(YOUR_CHANNEL_SECRET)

@app.route("/")
def hello_world():
    return "hello world!"

@app.route("/callback", methods=['POST'])
def callback():
    # get X-Line-Signature header value
    signature = request.headers['X-Line-Signature']

    # get request body as text
    body = request.get_data(as_text=True)
    app.logger.info("Request body: " + body)

    # handle webhook body
    try:
        handler.handle(body, signature)
    except InvalidSignatureError:
        abort(400)

    return 'OK'

@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    # "赤ちゃん"というメッセージが送られてきた場合
    # 指定のリンクを送信する。
    if event.message.text == "赤ちゃん":
        line_bot_api.reply_message(
            event.reply_token, 
            TextSendMessage(text="https://~"))
    # "ママ"というメッセージが送られてきた場合
    # 指定のリンクを送信する。
    elif event.message.text == "ママ":
        line_bot_api.reply_message(
            event.reply_token, 
            TextSendMessage(text="https://~"))
    # "ベビー"というメッセージが送られてきた場合
    # 指定のリンクを送信する。
    elif event.message.text == "ベビー":
        line_bot_api.reply_message(
            event.reply_token, 
            TextSendMessage(text="https://~"))
    # 特定の文字列以外はオウム返しする。
    else:
        line_bot_api.reply_message(
            event.reply_token, 
            TextSendMessage(text=event.message.text))

if __name__ == "__main__":
#    app.run()
    port = int(os.getenv("PORT"))
    app.run(host="0.0.0.0", port=port)

이전에 작성한 앵무새 반환 부분에 if 문으로 보내 온 메시지에 따라 사이트의 각 페이지로 날 수 있도록 URL을 반환하도록 수정되었습니다.
※여기에 이미지나 문장을 올려도 OK
cd linebot  
git init
git add .
git commit -am "make it better"
git push heroku master

마지막으로 만든 Heroku에 설치합니다.

친구 등록해보기



친구를 등록하면 인사말이 표시되므로 해당 메시지를 보내면

각 페이지에 대한 링크를 회신할 수 있었습니다!

버전 업



이러한 기능 이외에도 일제히 송신으로 신상품의 선전도 할 수 있다고 생각했기 때문에 시험해보고 싶습니다!

만들어 본 소감



단지 실제로 만들어 보는 감상으로서는 아기 용품의 경우, 이런 Bot에 의한 선전보다 친구나 지인에 의한 입소문 등이 영향력이 있는 것일까 생각하면서, 가게의 사람이 인사 대신 친구 등록해 주는 도브판 영업을 해 가면,,,라고 생각했습니다(웃음)

교제해 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기