File size: 1,513 Bytes
402dbe6
8888132
 
 
 
402dbe6
13058bd
8888132
 
402dbe6
 
 
8888132
 
 
402dbe6
 
8888132
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
402dbe6
 
 
 
 
 
 
8888132
 
 
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
# Heroku側のコード
from flask import Flask, request, abort
from linebot import LineBotApi, WebhookHandler
from linebot.exceptions import InvalidSignatureError
from linebot.models import MessageEvent, TextMessage, TextSendMessage
import requests

app = Flask(__name__)

# LINE Botの設定
LINE_CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'
LINE_CHANNEL_SECRET = 'YOUR_CHANNEL_SECRET'
line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN)
handler = WebhookHandler(LINE_CHANNEL_SECRET)

# Hugging Face Spaces APIのエンドポイントURL(自分で設定する必要があります)
HF_SPACES_API_URL = "https://your-huggingface-spaces-url"

@app.route("/callback", methods=['POST'])
def callback():
    signature = request.headers['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):
    input_text = event.message.text

    # Hugging Face SpacesのAPIにメッセージを転送
    response = requests.post(HF_SPACES_API_URL, json={"input": input_text})
    if response.status_code == 200:
        reply_message = response.json()['output']
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text=reply_message))
    else:
        line_bot_api.reply_message(event.reply_token, TextSendMessage(text="エラーが発生しました"))

if __name__ == "__main__":
    app.run()