在我們完成功能列表的總畫面之後,
我們將要在這幾天把所有的功能盡可能地完善,
首先要做的就是電流查詢、與溫濕度查詢,
一般的狀況下其實是要使用溫濕度感測器或其他sensor來取得相關數據的數值,
但由於這是簡單的介紹linebot與資料庫的相關應用,
就不打算再額外介紹MQTT相關的了,
好話不多說那馬上來完成功能吧,
這邊設想linebot回傳溫濕度等功能,只需要簡單的數值回應即可,
所以我們這邊就不用相關的json畫面了,
def callback(request):
    if request.method == 'POST':
        signature = request.META['HTTP_X_LINE_SIGNATURE']
        body = request.body.decode('utf-8')
        try:
            events = parser.parse(body, signature)  # 傳入的事件
        except InvalidSignatureError:
            return HttpResponseForbidden()
        except LineBotApiError:
            return HttpResponseBadRequest()
        for event in events:
            if isinstance(event, MessageEvent):  # 如果有normal訊息事件
                if event.message.text == "功能列表":
                    line_bot_api.reply_message(  # 回復「功能列表」按鈕樣板訊息
                        event.reply_token,
                        Featuresmodel().content()
                    )
            elif isinstance(event, PostbackEvent):  # 如果有postback訊息回傳
                # 電流
                # 如果回傳值為「電流」
                if event.postback.data[0] == "電" and event.postback.data[1] == '流':
                    line_bot_api.reply_message(  # 回復訊息文字
                        event.reply_token,
                        TextSendMessage(text=returnvalue().conditioning())
                    )
                # 濕度
                elif event.postback.data[0] == "濕" and event.postback.data[1] == '度':
                    line_bot_api.reply_message(
                        event.reply_token,
                        TextSendMessage(text=returnvalue().humi())
                    )
                # 溫度
                elif event.postback.data[0] == "溫" and event.postback.data[1] == '度':
                    line_bot_api.reply_message(
                        event.reply_token,
                        TextSendMessage(text=returnvalue().temp())
                    )
        return HttpResponse()
    else:
        return HttpResponseBadRequest()
只需要在這邊加入
elif isinstance(event, PostbackEvent):
即可,由於前面有介紹到我們設計溫濕度及電流按鈕使用後是回傳postback方式,
所以這邊無需在上方一般messageback的地方進行新增修改,
然後下一篇我們在message.py的地方增加資料庫,即可完成這幾個功能,
下一篇GOGO!
今天是 曾一鳴 的 如果你還在就好了 網址如下~~~