#経緯
前回Python、Herokuを用いたLINEbot(オウム返し)を作成してみた!
よろしければそちらの記事も読んでいただければ幸いです!
PythonとHerokuでLINEBOTを作ってみた
そこで更に調べてみるとLINEdevelopersを調べていくとたくさん遊べると感じたので少しだけアレンジしたものを作ってみました。テーマは何でもよかったのですが、今年赤ちゃんが生まれたので「赤ちゃん服のお店」だったらにしました(笑)
※今回はホームページありきの内容を想定しております。
#LINEの編集
###基本設定
LINEdevelopersの基本設定からLINEbotのアイコンや挨拶メッセージを編集します。
※アイコンは間もなくクリスマスなのでサンタにしてます
###あいさつメッセージ設定
友達登録された際のあいさつ文を編集します
指定したメッセージを送ってもらうように同線を作ります。
※なお、指定されたメッセージ以外は前回同様にオウム返しされます。
#あとはソースコードをいじるだけ
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による宣伝よりも友人や知人による口コミなどの方が影響力があるのかな思いつつ、お店の人があいさつ代わりに友達登録してもらうドブ板営業をしていけば、、、なんて思いました(笑)
お付き合いいただきありがとうございました!