iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
1
自我挑戰組

狗狗 Line Bot 以python及Django建構系列 第 8

Day8 真!開始LineBot之旅 -自動回應 (1)

  • 分享至 

  • xImage
  •  

前幾篇設定好之後,今天就可以真正進入程式碼的部分了,

打開 echobot / views.py

from django.conf import settings
from django.http import HttpResponse, HttpResponseBadRequest, HttpResponseForbidden
from django.views.decorators.csrf import csrf_exempt
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError, LineBotApiError
from linebot.models import MessageEvent, TextMessage, TextSendMessage

line_bot_api = LineBotApi('阿彌陀佛')
handler = WebhookHandler("阿彌陀佛")

@csrf_exempt
def callback(request):
    if request.method == 'POST':
        signature = request.META['HTTP_X_LINE_SIGNATURE']
        body = request.body.decode('utf-8')
        try:
            handler.handle(body, signature)
        except InvalidSignatureError:
            messages = (
                "Invalid signature. Please check your channel access token/channel secret."
            )
            logger.error(messages)
            return HttpResponseBadRequest(messages)
        return HttpResponse("OK")

@handler.add(event=MessageEvent, message=TextMessage)
def handl_message(event):
    outInfo = "汪汪"  #這是我們要回傳的訊息
    message = TextSendMessage(text=outInfo)
    line_bot_api.reply_message(
        event.reply_token,
        message)

將程式碼輸入成這樣之後,
那上面會看到line_bot_api這兩行後面是輸入阿彌陀佛,
阿才不是真的要你填這個就開始跑,
這兩行的資訊你得要從先前註冊過的 Line Developer 中取得,

line_bot_api 從 Messaging API settings 中的 Channel access token 取得~

handler 從 Basic settings 中的 Channel secret 取得

那各自輸入之後 就可以輸入下述指令,執行看看程式有無問題,

python manage.py runserver

如果沒有問題,畫面應該會長成這樣,

那這樣就可以開始進入下一篇啦,


今天是 盧廣仲 的 刻在我心底的名字 網址如下~~~

https://www.youtube.com/watch?v=m78lJuzftcc



上一篇
Day7 開始LineBot之旅 其他設定 (4)
下一篇
## Day9 真!開始LineBot之旅 -自動回應 (2)
系列文
狗狗 Line Bot 以python及Django建構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言