import os from decouple import config from flask import (Flask, request, abort) from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import InvalidSignatureError from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) # get LINE_CHANNEL_ACCESS_TOKEN from your environment variable line_bot_api = LineBotApi( config("LINE_CHANNEL_ACCESS_TOKEN", default=os.environ.get('LINE_ACCESS_TOKEN'))) # get LINE_CHANNEL_SECRET from your environment variable handler = WebhookHandler( config("LINE_CHANNEL_SECRET", default=os.environ.get('LINE_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) app.logger.info("Request body: " + body) # handle webhook body
#載入LineBot所需要的套件 from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import * app = Flask(__name__) # 必須放上自己的Channel Access Token line_bot_api = LineBotApi( 'PLelEuAVg9n2yff3gnLcL+YeKAAiYlSlQ0jdREMjdVVceqFUhThxxTz3lo1zQX1IZmE9dJljx4FWOIUkz6fkZODFYj1EiV7IRYsgcEKIRXVfWON3Vj5Dwe8CC2Gl0E8tZop/sIHfC4KQqNR827hJEgdB04t89/1O/w1cDnyilFU=' ) # 必須放上自己的Channel Secret handler = WebhookHandler('f43272ed6b7e8b79e602d1b25b3b1f8b') line_bot_api.push_message('U5bd8e6c4d5937784998ef65e3e37959b', TextSendMessage(text='你可以開始了')) # 監聽所有來自 /callback 的 Post Request @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) app.logger.info("Request body: " + body) # handle webhook body
from models.item import Items # 匯入訂位模組 from models.booking import Booking # 匯入linepay模組 from models.linepay import LinePay # 匯入Notify模組 from models import lineNotify # 匯入情感分析API from models import SentimentAnalysis # 匯入時間模組 from datetime import datetime app = Flask(__name__) # client的 line_bot_api = LineBotApi(Config.CHANNEL_ACCESS_TOKEN) handler = WebhookHandler(Config.CHANNEL_SECRET) # server的 line_bot_api_server = LineBotApi(Config.CHANNEL_ACCESS_TOKEN_SERVER) handler_server = WebhookHandler(Config.CHANNEL_SECRET_SERVER) # 出大絕直接設定全域變數給付款連結 PAY_WEB_URL = '' # 當連線中斷時自動關閉資料庫 # 資料內容來自https://flask.palletsprojects.com/en/1.1.x/patterns/sqlalchemy/ @app.teardown_appcontext def shutdown_session(exception=None): db_session.remove()
from django.http import HttpResponseBadRequest, HttpResponseForbidden from django.views.decorators.csrf import csrf_exempt from linebot import LineBotApi, WebhookHandler from linebot.exceptions import InvalidSignatureError, LineBotApiError from linebot.models import MessageEvent, TextMessage, PostbackEvent, FollowEvent from .robot import Adam from django.http import HttpResponse # Create your views here. line_bot_api = LineBotApi( 'b8c+EloUjPhs/nCv2PGkyI905gbBaZ+VYwbMkjN9Zuw8av/+tLZxprXNcaB7F8qNN4qrq08NYMSAHJszAlSFt5hhkmZyEp2o07onwaKaQW4XuHoEmQkINe+z4f587gqJkHAwWOh80K13dFAHhZxwjgdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('ebc727b638a1c9c6aa8a2c804c7eb1df') robot = Adam() @csrf_exempt def callback(request): if request.method == 'POST': signature = request.META['HTTP_X_LINE_SIGNATURE'] body = request.body.decode('utf-8') try: handler.handle(body, signature) except InvalidSignatureError: return HttpResponseForbidden() except LineBotApiError: return HttpResponseBadRequest() return HttpResponse() else: return HttpResponseBadRequest()
secretFileContentJson = json.load( open("./line_secret_key", 'r', encoding='utf8')) server_url = secretFileContentJson.get("server_url") # 設定Server啟用細節 app = Flask(__name__, static_url_path="/素材", static_folder="./素材/") # 設定變數 寫入資料庫mysql user_id = '' display_name = '' uid = '' household_key = 0 # 生成實體物件 line_bot_api = LineBotApi(secretFileContentJson.get("channel_access_token")) handler = WebhookHandler(secretFileContentJson.get("secret_key")) # 啟動server對外接口,使Line能丟消息進來 @app.route("/", 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) app.logger.info("Request body: " + body) # handle webhook body try:
import json import base64 from linebot import (LineBotApi, WebhookParser) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) ACCESS_TOKEN = "eGhYEVvWeJSfBHgvN6VMf+eQZPx04cu60dbvd53qyU4ls7YBXx4rhfv4iH/Pb3mHrZAMidj/re4BZRRBNo5waFzjmXWxR5ZCnXWjumUZ6SCrpR3ey0wOTSVTRgebCpVZyhbYwMlF4Mq3KWb7EkAW3VGUYhWQfeY8sLGRXgo3xvw=" CHANNEL_SECRET = "1578204987" line_bot_api = LineBotApi(ACCESS_TOKEN) parser = WebhookParser(CHANNEL_SECRET) @app.route("/") def healthcheck(): return 'OK' @app.route("/callback", methods=['POST']) def callback(): signature = request.headers['X-Line-Signature'] # get request body as text body = request.get_data(as_text=True) app.logger.info("Request body: " + body)
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'uKHKLyck1PsQqJ42m+QNIxpaw54BgtPlpOVkmVmk6ZiuwJ/lbUzA6vXj53xpw2ed3w+9udkeNI6QK4kBf2KfOEP36pe+KjLTUPWLFfZyCIg/xsA5g/IPopLjoNZW4Y3HKiM77lEzSzYK50KUiDcL2gdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('59e26daa3ced31f96dd879e821f2aeeb') @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature) except InvalidSignatureError:
from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ImageSendMessage, ) import os import json app = Flask(__name__) app.debug = False f = open('date.json', 'r') DrinkDate = json.load(f) line_bot_api = LineBotApi('LINE_BOT_TOKEN') handler = WebhookHandler('LINE_BOT_SECRET') def GetDrinkDate(DrinkName): SendURL = "" if DrinkName in DrinkDate["GAKUSE-KA"]: SendURL = SendURL + "学生課前\nhttps://www.google.com/maps?q=34.482481,136.825055\n\n" if DrinkName in DrinkDate["SHIOSAI"]: SendURL = SendURL + "潮騒会館\nhttps://www.google.com/maps?q=34.482616,136.824430\n\n" if DrinkName in DrinkDate["TOSHOKAN"]: SendURL = SendURL + "図書館下\nhttps://www.google.com/maps?q=34.482325,136.824341\n\n" if DrinkName in DrinkDate["RYOSHOKU"]: SendURL = SendURL + "寮食堂前\nhttps://www.google.com/maps?q=34.480867,136.825025\n\n" if DrinkName in DrinkDate["B-to"]: SendURL = SendURL + "B棟1階\nhttps://www.google.com/maps?q=34.480462,136.824733\n\n"
from flask import Flask, request, abort from linebot import LineBotApi, WebhookHandler from linebot.exceptions import InvalidSignatureError from linebot.models import MessageEvent, TextMessage, TextSendMessage import pya3rt app = Flask(__name__) line_bot_api = LineBotApi( "J/NdqjOP9XsFGi/HwpPUjr8zYG/67R8muQ7SP0Unh1lVGZWnVje/vQOJ7IRuxi6et0p65kemHrddp3zd50miz2Wcog5/gYPMOHduv/ZE/bd/nwlytCaQ7BKI1ZclyVC+YzUlxc839BuPt58+gxo7qQdB04t89/1O/w1cDnyilFU=" ) handler = WebhookHandler("82e521a6827593de9fdba188f3de8207") @app.route("/") def hello_world(): return "hello world!" @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)
from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) from helper import apple_news, eyny_movie, get_build_result_from_jenkins app = Flask(__name__) config = configparser.ConfigParser() config.read("config.ini") # line_bot_api = LineBotApi(config['line_bot']['Channel_Access_Token']) line_bot_api = LineBotApi( "s19Xzrw8j71uvdzTbFRxTyWHotTOS8AV+VPNDzMGi6nI/uRRrHO5giqGDQBH7AFUsu81rAilC+anC0tZpHeo/oLc819o8I4JIX6XQniJPHSKo+5cgoJOUl7jTHxviMHWV733BXr9T2Js2YkcnPzbTgdB04t89/1O/w1cDnyilFU=" ) # handler = WebhookHandler(config['line_bot']['Channel_Secret']) handler = WebhookHandler("17fcbf83f049ae1a15b387a978d27ce3") @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) app.logger.info("Request body: " + body) # handle webhook body
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import (MessageEvent, TextMessage, TextSendMessage, SourceUser) import os import redis r = redis.from_url(os.environ.get("REDIS_URL")) app = Flask(__name__) line_bot_api = LineBotApi( 'wVVeWkYUbXO8Wgggzc0Ln2hPftw17YbLvyapHNYIPDDknV6CqWr19DE4O91uyRPW3v0SX3gNjm/PlDa9qYO3vyASUnK299WweU1zyCXYJJBW35ABPSygvbTo65LZjvkiG6fCz8lKWkBRSEdUbFWRtwdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('e8c0f7a3550a6b7053a7f4bc362e7493') @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) app.logger.info("Request body: " + body) # handle webhook body try:
import json import requests import urllib.parse from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'wOq1fV72a9qiUfck9YKsb/3OvZVDNusDvTu3iTYNqT1eZxxa17LG24yMFzT+vQKV0NUkk2rhpTZa3RA2F58V4fhLkt9qYWq/DEy+xs3Z/66M0prHZGutN2ObaZJkQGpqog6ut/lblNlwzZPivTYbFgdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('48a925c4588ef8ebdcb55a215b9fa0d7') @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 = json.loads(request.get_data(as_text=True)) #raise Exception(body) #app.logger.info("Request body: " + body) if not ("召喚!" in body['events'][0]['message']['text']):
# encoding: utf-8 from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'zXdV4UMYRUitHOI/gEl2KzaryIbTCeNa0twwElwwYUp5y0ECqg4kUt796Vcw7a/EYwxgnsR7Cms6AsXpyFZtjFwXQXWX9If45fUVHT/VTLSz6Y/wWlKKJnWJCUYYnh8Ue8ali+8uVaZsdfhYjD6hWwdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('a5427de135df9579039872a72d700516') @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature)
from linebot import ( LineBotApi, WebhookHandler ) from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ImageSendMessage, StickerSendMessage , LocationSendMessage, TemplateSendMessage, ButtonsTemplate, PostbackAction, MessageAction, URIAction ) line_bot_api = LineBotApi('HtqPSH1DZtA+3qG/kas2x5Gh+LjR4K6pR7sNgcgTaJ4hLOtbQEcjGfjr2IU8BMMPQXkfGaJYf94LmBfQBLF/UEpj1MMegVFiGSjDQquWSdspt8mEFtvzLE2m4/qqBsEn2f3d3UJivGH2gcPf/r7NNQdB04t89/1O/w1cDnyilFU=') handler = WebhookHandler('45514a7408ec2e4026880341666a83be')
def setUp(self): self.tested = LineBotApi('channel_secret')
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, StickerSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'u4rnjIGjTPscuJ7DyrLEwPgHBdZxEsDs2+2Aa/+A2dXexmGpJbb/EUMSrOkp7ZQjCymt7Ri08zUuYsbwryt2HVcDBz7MitxnDlPtkOGvvfvWSS308DTpfk4+RUWWsyvd4UtPKcPqZjLIrGId3/YckQdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('e0bee310df0e564e2cef25a9d8218246') @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature)
def line_pust(content): line_bot_api = LineBotApi(token) line_bot_api.push_message(ID, TextSendMessage(text=content)) line_bot_api.push_message( ID, TextSendMessage(text='資料時間:' + datetime.datetime.now()))
def send_message(message): line_bot_api = LineBotApi(config.MORNING_AI_TOKEN) line_bot_api.broadcast(TextSendMessage(text=message))
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import * app = Flask(__name__) # Channel Access Token line_bot_api = LineBotApi( '1bQnym3SrZ8xpxNSCAEHfoz9ak01Z5rxcyvSRD2GiaXs62xxNjWV9IXef0Bo1SlndyroOpSyx/Yd5eOfXltMFk39Gaz5ybbnyvnsD13ljBPENhqwjRTKmrUptiFr04PiGcDM+V9Nbmh7PreGwe9WDgdB04t89/1O/w1cDnyilFU=' ) # Channel Secret handler = WebhookHandler('96ce5c52eeddbec9448ff852389f017a') # 監聽所有來自 /callback 的 Post Request @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature) except InvalidSignatureError: abort(400) return 'OK'
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import * #import pandas as pd app = Flask(__name__) line_bot_api = LineBotApi( 'IJlBFSC+WIrj3Ki+//TGjuz6buq0hW6AsfLzvWer0+LtcLXREgx73Kz/7MXnnADu2u5rpykWjYj/yMODFDsHINay+ZgiI6MRFHn+36cKMIfDn+dl4zlScsKM1bJ1QVun2lleXhkKgrgXtaT2d5d8FgdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('acb6bb2d30f775a13dfc5b2a84f35ad0') #url = "talk.csv" #talk_csv = pd.read_csv(url) @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature)
from linebot import LineBotApi from linebot.models import TextSendMessage LINE_CHANNEL_ACCESS_TOKEN = "ご自身のチャネルのアクセストークン" line_bot_api = LineBotApi(LINE_CHANNEL_ACCESS_TOKEN) def main(): user_id = "プッシュ通知を送りたLINEユーザーのuser_id" messages = TextSendMessage(text=f"こんにちは😁\n\n" f"最近はいかがお過ごしでしょうか?") line_bot_api.push_message(user_id, messages=messages) if __name__ == "__main__": main()
) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) # firebase cred = credentials.Certificate("./serviceAccountKey.json") firebase_admin.initialize_app(cred,{ 'databaseURL' : 'https://treat-me-22bff.firebaseio.com/' }) # Flask app should start in global layout app = Flask(__name__) line_bot_api = LineBotApi('PSuSBxe1a0bZQ3X2TfaUe5oWeHNzHAyhW++coSfqx/sSZ2RFfPBXAsV0ZDvofnSbC8/vo+u7cI01uqcpGBjkXDo/rQNEiRwrWfr6GfhVnfBrF2jcuKBEKcg65i4TJ9jhPwmuXBUoX+1Ftu9LxZzDxgdB04t89/1O/w1cDnyilFU=') handler = WebhookHandler('1f76f3e40c0309597bf1fe9c150c902f') def sendPre(tipe): data= { "speech": "", "messages": [ { "type": 4, "payload": { "line": { "type": "imagemap", "baseUrl": "https://firebasestorage.googleapis.com/v0/b/treat-me-22bff.appspot.com/o/"+tipe+".jpg?alt=media&_ignore=", "altText": "Kuesioner "+tipe, "baseSize": { "width": 1040,
from linebot import LineBotApi, WebhookHandler from linebot.exceptions import InvalidSignatureError from linebot.models import MessageEvent, TextMessage, TextSendMessage #自作パブリッシャーのインポート from modules import pub_line from modules.re_compiler import ReMatch #Flaskのインスタンスの作成 app = Flask(__name__) #環境変数取得 YOUR_CHANNEL_ACCESS_TOKEN = os.environ["YOUR_CHANNEL_ACCESS_TOKEN"] YOUR_CHANNEL_SECRET = os.environ["YOUR_CHANNEL_SECRET"] line_bot_api = LineBotApi(YOUR_CHANNEL_ACCESS_TOKEN) handler = WebhookHandler(YOUR_CHANNEL_SECRET) #動作確認用ウェブサイトのルーティング #アクセスすると hello world! を表示 @app.route("/", methods=['GET', 'POST']) def hello_world(): return "hello world!" #LINEからのWebhookを処理 @app.route("/callback", methods=['POST']) def callback(): # get X-Line-Signature header value signature = request.headers['X-Line-Signature']
from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'x8QBVmSD5mA0dQ/G/F22rxW4IUn0Pq81UYBQebcwheylhNYlndaYPwD28eTQ31Rlj0dDCI7ujXyt4TkY9hZmk24HYornhXtyMd64M+QjgCH1QhIb0bboUU56SG2WPD8OoBXpyzBV1s6ME2BCdlup7wdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('e6c93b46b6dad7309eb9891f6a18bc18') @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature) except InvalidSignatureError:
""" from flask import Flask, request, abort from linebot import (LineBotApi, WebhookHandler) from linebot.exceptions import (InvalidSignatureError) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi( 'ezzuSg71I5IQMdkrssu9o4IOzxYzbH5oYaWadU0UGlWG+e4jQLaethLWfYgpCey87fcFBp3N9xSQcHHpeuWyImwYadQ9dRiV69cEuWAmQkxnzz9GgGwqL+1TOvCqZCWV6jkanOvFLjjqV4rg1jvIdwdB04t89/1O/w1cDnyilFU=' ) handler = WebhookHandler('01f92b404bae1ef79ba774cb40547fdb') @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) app.logger.info("Request body: " + body) # handle webhook body
from django.conf import settings from linebot import LineBotApi from linebot.models import * from module import env import requests from linebot02 import viewsget from django.conf.urls import url from module import env import time, datetime line_bot_api = LineBotApi(settings.LINE_CHANNEL_ACCESS_TOKEN) def write_in_TextMessage(events): events_userid = str(events[0].source).split('"')[7] # print(type(events_userid)) events_instantly_time = events[0].timestamp events_content = events[0].message.text # print("User獨立ID : ", events_userid) # print("傳送得當下時間 : ", events_instantly_time) # print("傳送當下文字內容 : ", events_content) events_file_message = str(events_instantly_time)[0:-3] + '////' + str( events_content) # print("把資訊合成一塊 : ", events_file_message, '\n') # print("-------------------------------------------------------------") events_file_path = "E:/db104_2_project/Message_Log/%s.txt" % ( events_userid)
from flask import Flask, request, abort from linebot import ( LineBotApi, WebhookHandler ) from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ) app = Flask(__name__) line_bot_api = LineBotApi('SFS/GctoxEUeF+AwFdqETwRkIIvxajJsnwX1EUz7owLpAyGa/X4qeTfzVZABlR30jf16AVyTH5HMCJhYY/H7zALkFibq8c839jzfilIG/41re6yLy7a1Ia1RhxFG3t8Ea+rzTWkV7ESOUnIglfUTdQdB04t89/1O/w1cDnyilFU=') handler = WebhookHandler('8df6678d1f2a125162a123f3327e95fb') @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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature)
) from linebot.exceptions import ( InvalidSignatureError ) # from linebot.models import ( # MessageEvent, TextMessage, TextSendMessage, ImageSendMessage # ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, ImageSendMessage, LocationMessage, TemplateSendMessage, ButtonsTemplate, CarouselTemplate, PostbackTemplateAction, CarouselColumn , URITemplateAction , SourceUser ) app = Flask(__name__) # Channel Access Token line_bot_api = LineBotApi('gXcZroHsNzZfIaB4SczZTH2Iv6RI8tXGVyNqWJSBaCd7vfwwuTlW1qr4DOlv1AWHJy4Xs+EIGp3UKxmUtxyubD8XKsIRozgbbgPARcWAaw8NA4lsFkOHkH1LEj1FTsVYHsD8n7QmcD7d/792pvA9lQdB04t89/1O/w1cDnyilFU=') # Channel Secret handler = WebhookHandler('3bac752e3fcb40bcd0d75e6a0d456902') # 監聽所有來自 /callback 的 Post Request @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) app.logger.info("Request body: " + body) # handle webhook body try:
ECHO_PATH = './config/echo.yml' MATCH_PATH = './config/match.yml' # LINE channel_access_token = os.getenv('LINE_CHANNEL_ACCESS_TOKEN', None) channel_secret = os.getenv('LINE_CHANNEL_SECRET', None) if channel_access_token is None: print('Specify LINE_CHANNEL_ACCESS_TOKEN as environment variable.') sys.exit(1) if channel_secret is None: print('Specify LINE_CHANNEL_SECRET as environment variable.') sys.exit(1) line_bot_api = LineBotApi(channel_access_token) handler = WebhookHandler(channel_secret) # reply words reply_words = [] with open(REPLY_PATH, 'r', encoding='utf-8') as f: text = f.read() reply_words = yaml.load(text) # echo words echo_words = {} with open(ECHO_PATH, 'r', encoding='utf-8') as f: text = f.read() echo_words = yaml.load(text) # match words
import os from linebot import ( LineBotApi, WebhookHandler ) from linebot.exceptions import ( InvalidSignatureError ) from linebot.models import ( MessageEvent, TextMessage, TextSendMessage, StickerSendMessage,ImageSendMessage ) app = Flask(__name__) # 使用heroku的environment variables line_bot_api = LineBotApi(os.environ['CHANNEL_ACCESS_TOKEN']) handler = WebhookHandler(os.environ['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) app.logger.info("Request body: " + body) # handle webhook body try: handler.handle(body, signature)