Q&A

機器人一直在回應訊息

@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    input_text = event.message.text
    if input_text == "查匯率":
        resp = requests.get('https://tw.rter.info/capi.php')
        currency_data = resp.json()
        usd_to_twd = currency_data['USDTWD']['Exrate']
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text=f'美元 USD 對台幣 TWD:1:{usd_to_twd}'))
    elif input_text == '現在時間':
        now = datetime.now()
        current_time = now.strftime("%H:%M:%S")
        line_bot_api.reply_message(
            event.reply_token, TextSendMessage(text=f"台北時間:{current_time}"))
    elif input_text == "現在幾度" or "溫度":
        Rdata = requests.get(
            'https://opendata.cwb.gov.tw/api/v1/rest/datastore/O-A0003-001?Authorization=ABC-#@12345324-KEY-1233-1237485723&locationName=%E8%87%BA%E5%8C%97,&elementName=TEMP&parameterName=CITY').json()
        Temp = Rdata["records"]["location"][0]["weatherElement"]
        Mdict = dict(enumerate(Temp))
        o1 = Mdict[0]['elementValue']
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text=f'現在「台北」的目前溫度是:{o1}'))
    elif input_text == "股票":

        stock(x)
        line_bot_api.reply_message(
            event.reply_token,
            TextSendMessage(text=f'現在「股票號碼{stock} 」的目前股價是:{getstock}'))

試過修改許多次if elif的功能,一直無法正常運作,在使用者貼上訊息的時候一直會回應溫度>"<. 試著用函式也不能呼叫? 請問handler有什麼限制嗎?在SDK找不到類似的訊息

  • 0
  • 1
  • 2100
  • twitter facebook

elif input_text == "現在幾度" or "溫度": 應該改為 elif input_text == "現在幾度" or input_text == "溫度":

  • 0

Similar posts

    No similar posts

Are you sure? question.vm