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