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()
|