> For the complete documentation index, see [llms.txt](https://qiu-yan-ming.gitbook.io/python-chatbot/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://qiu-yan-ming.gitbook.io/python-chatbot/shi-yong-line-bot-sdk.md).

# 使用 LINE BOT SDK

搭配Flask使用 LINE BOT SDK

LINE BOT SDK Github\
<https://github.com/line/line-bot-sdk-python>

1 使用pip安裝 LINE BOT SDK

```
pip3 install line-bot-sdk
```

2 參考官網的範例建立一個app.py

```python
#app.py
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('貼上你的line bot channel token')
handler = WebhookHandler('貼上你的line bot 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)
    except InvalidSignatureError:
        abort(400)

    return 'OK'


@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
    line_bot_api.reply_message(
        event.reply_token,
        TextSendMessage(text=event.message.text))


if __name__ == "__main__":
    app.run()
```

![上述程式碼運作流程圖](https://1129208364-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LPZnd2Uh7IHO28BZ13i%2F-LQSkuvH3eFNcbzMD7HQ%2F-LQSpR57dYWp-H84J177%2FLineBotSdkPython.png?alt=media\&token=37f381e0-2de5-4533-86b3-2b6b39dfff59)

最後run起來若看到Python成功執行就先算成功囉\~\
接下來會教你怎麼測試這支API<br>
