Spaces:
Sleeping
Sleeping
File size: 1,117 Bytes
b5ca2ee |
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 |
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
# 建立 Flask 應用
app = Flask(__name__)
# 從 Huggingface 的 Secrets 中讀取 LINE 憑證
line_bot_api = LineBotApi(os.environ.get("LINE_CHANNEL_ACCESS_TOKEN"))
handler = WebhookHandler(os.environ.get("LINE_CHANNEL_SECRET"))
@app.route("/", methods=["POST"])
def callback():
# 接收 X-Line-Signature
signature = request.headers.get("X-Line-Signature")
body = request.get_data(as_text=True)
try:
handler.handle(body, signature)
except InvalidSignatureError:
abort(400)
return "OK"
# 收到訊息時回覆
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
user_text = event.message.text
reply_text = f"你說的是:{user_text}"
line_bot_api.reply_message(event.reply_token, TextSendMessage(text=reply_text))
# 本地測試用(部署在 Huggingface 時不需要)
if __name__ == "__main__":
app.run() |