LINE Bot by Python 全攻略:從Heroku到AWS跨平台實踐(iT邦幫忙鐵人賽系列書) | 被動收入的投資秘訣 - 2024年11月
LINE Bot by Python 全攻略:從Heroku到AWS跨平台實踐(iT邦幫忙鐵人賽系列書)
一書搞定:從初始化 LINE 聊天機器人到發送華麗的 FlexMessage!
從 Heroku 跨足到輕量簡潔的 AWS Lambda!
●深入淺出的教學,完全了解LINE聊天機器人的運作原理。
●生動有趣的範例,完全活用LINE聊天機器人的各式功能。
●勤勞樸實的開銷,完全探索LINE聊天機器人的免費資源。
本書改編自第11屆iT邦幫忙鐵人賽 Modern Web 組優選網路系列文章---《從LINE BOT到資料視覺化:賴田捕手》,介紹如何以 Python 來撰寫 LINE 聊天機器人。從註冊帳號、初始化 LINE 聊天機器人開始,一步步理解 LINE 聊天機器人的運作方式,探索官方提供的各種功能以建構各式有趣的應用,並且比較在 Heroku/AWS 上佈署 LINE 聊天機器人的不同手段。
在工作場合,居家生活,人手一 LINE 的情況下,學習開發LINE聊天機器人成了一件增進工作效率、有益身心健康的嗜好。一個 LINE 聊天機器人可以幫我們查找資料,儲存訊息,定時呼叫,事件觸發。可謂所有的服務都有機會透過 LINE 聊天機器人來幫我們實現。本書旨在介紹 LINE 聊天機器人提供的各種功能,以及透過 Heroku/AWS 兩種不同平台開發 LINE 聊天機器人的方式。
💬四大主題
起始:LINE BOT SDK
●利用 Python 從頭打造 LINE 聊天機器人。
●利用 Heroku 平台佈署 LINE 聊天機器人。
●利用 LINE 官方功能裝備 LINE 聊天機器人。
擴充:Heroku Postgres
●資料庫的介紹和建立。
●新增、刪除、修改、查詢的實際操作。
●串接 LINE 聊天機器人的方式。
管理:Flask
●LINE 聊天機器人管理後台的架設。
●Flask 的架構介紹。
●Bootstrap 的應用。
整合:AWS Lambda
●利用 AWS Lambda 佈署LINE聊天機器人。
●利用 DynamoDB 建立資料庫。
●利用 CloudWatch 設定定時事件。
作者簡介
饒孟桓
興趣使然的程式設計師。
第11屆以《從LINE BOT到資料視覺化:賴田捕手》得到iT邦幫忙鐵人賽Modern Web組優選。
01 Outline:前言
02 LINE-BOT-SDK:註冊
2.1 LINE Developers
2.2 Git
2.3 Heroku
2.4 參考資料
2.5 Heroku CLI 指令整理
03 LINE BOT SDK:初始化聊天機器人
3.1 LINE 聊天機器人的核心程式碼
3.2 Heroku 專案的建立
3.3 Git 推送專案
3.4 LINE 聊天機器人初始化
3.5 搶先試玩
3.6 參考資料
3.7 Git 指令整理
3.8 Heroku CLI 指令整理
04 LINE BOT SDK:應用程式編程介面(一)
4.1 設定配置檔
4.2 初探 LINE 應用程式編程介面
4.3 閱讀 Heroku Logs
4.4 LINE 聊天機器人的回應設定
4.5 建立適合擴充的檔案架構
4.6 參考資料
4.7 LineBotApi 函式整理
05 LINE BOT SDK:應用程式編程介面(二)
5.1 統一資源定位器資料庫(urllib)
5.2 參考資料
5.3 urllib 函式整理
06 LINE BOT SDK:Heroku 夜未眠
6.1 了解 Heroku free dyno 的規範
6.2 flask 簡易網頁製作
6.3 使用 APScheduler
6.4 Heroku 時區 (time zone)
6.5 LINE 聊天機器人主動推送信息(push_message())
6.6 查詢免費 dyno 時間 (free dyno hours)
6.7 參考資料
6.8 Heroku CLI 指令整理
6.9 LineBotApi 函式整理
07 Heroku Postgres:建立資料庫
7.1 建立 Heroku Postgres 資料庫
7.2 psycopg2 基本操作:建立表格 (table)
7.3 參考資料
7.4 Heroku CLI 指令整理
7.5 psycopg2 指令整理
7.6 SQL 指令整理
08 Heroku Postgres:操作資料庫
8.1 存入資料(INSERT)
8.2 查詢 (SELECT) 資料
8.3 更新 (UPDATE) 資料
8.4 刪除 (DELETE) 資料
8.5 參考資料
8.6 psycopg2 指令整理
8.7 SQL 指令整理
09 Heroku Postgres:連接 LINE 聊天機器人
9.1 準備資料
9.2 將資料放入 Heroku Postgres
9.3 整理程式碼
9.4 參考資料
10 Heroku Postgres:連接 LINE 聊天機器人(二)
10.1 請 LINE 聊天機器人讀取資料
10.2 FlexMessage 基本架構
10.3 FlexMessage 模擬器 (Flex Message Simulator)
10.4 用程式碼架構 FlexMessage
10.5 回發事件 (PostbackEvent)
10.6 參考資料
11 Heroku Postgres:連接 LINE 聊天機器人(三)
11.1 規劃查詢流程
11.2 Phase I:設定查詢資料欄位
11.3 Phase II:設定查詢資料數量
11.4 Phase III:回覆查詢結果
12 Flask:基礎網頁製作
12.1 flask 架設網站
12.2 讀取靜態 (static) 資料
12.3 參考資料
12.4 jinja2 網頁模板整理
13 Flask:裝飾我們的網頁
13.1 Bootstrap
13.2 CodePen
13.3 Codeply
13.4 Google 字型
13.5 Font Awesome
13.6 參考資料
14 Flask:Jinja2 製作網頁模板
14.1 Jinja2 的模板繼承
14.2 參考資料
14.3 jinja2 網頁模板整理
15 Flask:Jinja2 變數與巨集
15.1 用jinja2 操作變數
15.2 用jinja2 建立巨集
15.3 參考資料
15.4 jinja2 指令整理
16 Flask:表單的操作
16.1 HTML 5 的表單 (Form) 組成
16.2 伺服器提取表單 (Form) 資料
16.3 產生 SQL 指令
16.4 重新回到 HTML 5 的表單 (Form) 組成
16.5 參考資料
17 Flask:登入系統Flask-Login
17.1 登入頁面
17.2 運用Flask-Login
17.3 修飾頁面
17.4 參考資料
18 LINE BOT SDK:製作圖文選單
18.1 從 LINE Official Account Manager 製作圖文選單 (Rich Menu)
18.2 用linebot 設計出多功能的圖文選單
18.3 初始化圖文選單
18.4 根據使用者的要求切換圖文選單
18.5 儲存使用者偏好設定
18.6 查詢使用者偏好設定
18.7 參考資料
19 AWS:註冊
19.1 註冊AWS 帳號
19.2 參考資料
20 AWS:Lambda 函式
20.1 建立 AWS Lambda
20.2 使用 AWS Lambda Layer
20.3 新增 API Gateway
20.4 設定環境變數
20.5 初始化 LINE 聊天機器人
20.6 參考資料
21 AWS:CloudWatch 日誌
21.1 熟悉 AWS Lambda
21.2 檢視 CloudWatch 日誌
21.3 參考資料
22 AWS:DynamoDB 資料表
22.1 準備工作
22.2 建立 DynamoDB 資料庫
22.3 操作 DynamoDB 資料表
22.4 參考資料
22.5 DynamoDB 資料庫操作指令整理
23 AWS:CloudWatch 事件
23.1 設定 Lambda 函式的時區
23.2 操作 DynamoDB 資料表
23.3 設定 CloudWatch Events
23.4 參考資料
23.5 DynamoDB 資料庫操作指令整理