1 # -*- coding: utf-8 -*-
3 Created on Sat Sep 1 11:18:39 2018
11 from linebot import LineBotApi, WebhookParser
12 from linebot.exceptions import InvalidSignatureError
13 from linebot.models import MessageEvent, TextMessage, TextSendMessage
16 class WebHookHandler(tornado.web.RequestHandler):
21 signature = json.load(self.request.headers['X-Line-Signature'])
22 data = json.load(self.request.body)
24 events = webhook.parse(data, signature)
25 except InvalidSignatureError:
26 raise tornado.web.HTTPError(400)
28 if not isinstance(event,MessageEvent):
30 if not isinstance(event.message,TextMessage):
32 linebot.reply_message(
34 TextSendMessage(text=event.message.text)
38 application = tornado.web.Application([(r'/callback',WebHookHandler)])
40 if __name__ == '__main__':
41 ch_id = os.environ['Channel_ID']
42 ch = os.environ['Channel_Secret']
43 linebot = LineBotApi(ch_id)
44 webhook = WebhookParser(ch)
45 application.listen(5000)
46 tornado.ioloop.IOLoop.instance().start()