Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask, request, abort
- import json
- import rules
- from linebot import (
- LineBotApi, WebhookHandler
- )
- from linebot.exceptions import (
- InvalidSignatureError
- )
- from linebot.models import (
- MessageEvent, TextMessage, TextSendMessage,
- )
- app = Flask(__name__)
- app.config['ACCESS_TOKEN'] = 'xxx'
- app.config['CHANNEL_SECRET'] = 'xxx'
- line_bot_api = LineBotApi(app.config['ACCESS_TOKEN'])
- handler = WebhookHandler(app.config['CHANNEL_SECRET'])
- @app.route("/callback", methods=['POST'])
- def callback():
- # get X-Line-Signature header value
- signature = request.headers['X-Line-Signature']
- # get request body as text
- body = request.get_data(as_text=True)
- # handle webhook body
- try:
- handler.handle(body, signature)
- except InvalidSignatureError:
- abort(400)
- return 'OK'
- @handler.add(MessageEvent, message=TextMessage)
- def handle_message(event):
- event_data = json.loads(str(event))
- text = event_data['message']['text']
- resp = rules.select(text)
- if resp is not None:
- line_bot_api.reply_message(
- event.reply_token,
- TextSendMessage(text=resp)
- )
- if __name__ == "__main__":
- app.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement