LINE Bot by Python 全攻略:從 Heroku 到 AWS 跨平台實踐 (iT邦幫忙鐵人賽系列書)

LINE Bot by Python 全攻略:從 Heroku 到 AWS 跨平台實踐 (iT邦幫忙鐵人賽系列書)

作者: 饒孟桓
出版社: 博碩文化
出版在: 2020-12-28
ISBN-13: 9789864345496
ISBN-10: 9864345494
裝訂格式: 平裝
總頁數: 416 頁





內容描述


一書搞定:從初始化 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 設定定時事件。


目錄大綱


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 資料庫操作指令整理

作者介紹


饒孟桓
興趣使然的程式設計師。

第11屆以《從LINE BOT到資料視覺化:賴田捕手》得到iT邦幫忙鐵人賽Modern Web組優選。



相關書籍

玩轉3D視界 —— 3D機器視覺及其應用

作者 劉佩林 等

2020-12-28

深度學習

作者 劉鵬

2020-12-28

Python Web 開發案例教程 — 使用 Flask、Tornado、Django (慕課版)

作者 南淑萍 王莉麗 王秀友

2020-12-28