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 SDKHeroku 夜未眠
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.1LINE 聊天機器人讀取資料
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 FlaskJinja2 製作網頁模板
14.1 Jinja2 的模板繼承
14.2 參考資料
14.3 jinja2 網頁模板整理

15 FlaskJinja2 變數與巨集
15.1jinja2 操作變數
15.2jinja2 建立巨集
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.1LINE Official Account Manager 製作圖文選單 (Rich Menu)
18.2linebot 設計出多功能的圖文選單
18.3 初始化圖文選單
18.4 根據使用者的要求切換圖文選單
18.5 儲存使用者偏好設定
18.6 查詢使用者偏好設定
18.7 參考資料

19 AWS:註冊
19.1 註冊AWS 帳號
19.2 參考資料

20 AWSLambda 函式
20.1 建立 AWS Lambda
20.2 使用 AWS Lambda Layer
20.3 新增 API Gateway
20.4 設定環境變數
20.5 初始化 LINE 聊天機器人
20.6 參考資料

21 AWSCloudWatch 日誌
21.1 熟悉 AWS Lambda
21.2 檢視 CloudWatch 日誌
21.3 參考資料

22 AWSDynamoDB 資料表
22.1 準備工作
22.2 建立 DynamoDB 資料庫
22.3 操作 DynamoDB 資料表
22.4 參考資料
22.5 DynamoDB 資料庫操作指令整理

23 AWSCloudWatch 事件
23.1 設定 Lambda 函式的時區
23.2 操作 DynamoDB 資料表
23.3 設定 CloudWatch Events
23.4 參考資料
23.5 DynamoDB 資料庫操作指令整理

作者介紹


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

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



相關書籍

5G+機器視覺實踐與應用

作者 周才健 等

2020-12-28

Excel企業經營數據分析實戰

作者 張倩

2020-12-28

Practical Cryptography in Python: Learning Correct Cryptography by Example

作者 Nielson Seth James Monson Christopher K.

2020-12-28