wsy07 commited on
Commit
b5ca2ee
·
verified ·
1 Parent(s): 6c765e5

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from flask import Flask, request, abort
2
+ from linebot import LineBotApi, WebhookHandler
3
+ from linebot.exceptions import InvalidSignatureError
4
+ from linebot.models import MessageEvent, TextMessage, TextSendMessage
5
+ import os
6
+
7
+ # 建立 Flask 應用
8
+ app = Flask(__name__)
9
+
10
+ # 從 Huggingface 的 Secrets 中讀取 LINE 憑證
11
+ line_bot_api = LineBotApi(os.environ.get("LINE_CHANNEL_ACCESS_TOKEN"))
12
+ handler = WebhookHandler(os.environ.get("LINE_CHANNEL_SECRET"))
13
+
14
+ @app.route("/", methods=["POST"])
15
+ def callback():
16
+ # 接收 X-Line-Signature
17
+ signature = request.headers.get("X-Line-Signature")
18
+ body = request.get_data(as_text=True)
19
+
20
+ try:
21
+ handler.handle(body, signature)
22
+ except InvalidSignatureError:
23
+ abort(400)
24
+
25
+ return "OK"
26
+
27
+ # 收到訊息時回覆
28
+ @handler.add(MessageEvent, message=TextMessage)
29
+ def handle_message(event):
30
+ user_text = event.message.text
31
+ reply_text = f"你說的是:{user_text}"
32
+ line_bot_api.reply_message(event.reply_token, TextSendMessage(text=reply_text))
33
+
34
+ # 本地測試用(部署在 Huggingface 時不需要)
35
+ if __name__ == "__main__":
36
+ app.run()