Spaces:
Running
Running
File size: 1,810 Bytes
55b1be9 cca3a00 55b1be9 2cf7795 76eaf5a 55b1be9 d476587 55b1be9 a4c60e7 0613521 9a45992 2cf7795 55b1be9 6482098 55b1be9 2cf7795 6482098 fea1ad8 0ef5a09 7fd59e2 3a2e91a 7fd59e2 d031eed 7fd59e2 3a2e91a 7fd59e2 4a7f8d2 2cf7795 4a7f8d2 3a2e91a 4a7f8d2 2cf7795 4a7f8d2 3a2e91a 4a7f8d2 0ea605e 4a7f8d2 55b1be9 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
from fastapi.middleware.cors import CORSMiddleware
from fastapi import FastAPI, Request, Header
import json
import os
from linebot import (
LineBotApi, WebhookHandler
)
from linebot.exceptions import (
InvalidSignatureError
)
from linebot.models import (
MessageEvent, TextMessage, TextSendMessage, ImageSendMessage, AudioMessage
)
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=False,
allow_methods=["*"],
allow_headers=["*"],
)
line_bot_api = LineBotApi("ZwnEWwK46AUmRDOFXJOwUh1TqAELahP+kxHY0iBevF8JiEUe0CBQpkW2Gpo3C38LOaIX7hpW4IuTOSOjVof+DX9XgZg8MTeh5Iz+NDLlw6KKMtqNsyR6zt9CMnsso21ieifC/S8dcgXx3iKlhdS7UAdB04t89/1O/w1cDnyilFU=")
line_handler = WebhookHandler("7b9984bbc5c62445a79b95b15e34b727")
working_status = os.getenv("DEFALUT_TALKING", default = "true").lower() == "true"
@app.get("/")
def root():
return {"title": "Echo Bot"}
@app.post("/webhook")
async def webhook(request: Request):
signature = request.headers["X-Line-Signature"]
body = request.get_data(as_text=True)
app.logger.info("Request body: " + body)
try:
print(body, signature)
line_handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return 'OK'
@line_handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
global working_status
if event.message.text == "再見":
working_status = True
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text="Bye!"))
return
if working_status:
out = event.message.text
if not out:
out = "不懂您的意思!"
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=out)) |