<style>
.reveal .slides {
text-align: left;
}
</style>
<!-- .slide: data-background="https://i.imgur.com/9eF1yAt.jpg" -->
# CGLineBot
Truth
20191017
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### Outline
- 什麼是 LineBot
- LineBot 應用範例
- Why LineBot
- CGLineBot
- CGLineBot 功能介紹
- CGLineBot 如何加入與使用
- CGLineBot 取得資料
- 架設你的 LineBot 使用 python
- Demo
- 參考
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 什麼是 LineBot
- 20160407
- LINE 推出 **LINE BOT API**
- 開啟大 LineBot 時代
```sequence
Note right of User: User打字中
User->Line: 哈摟,你好嗎?
Note right of Line: WebHook
Line->LineBot: 哈摟,你好嗎?
Note right of LineBot: LineBot思考中
LineBot-->Line: 我很好,謝謝!
Line->User: 我很好,謝謝!
```
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### LineBot 應用範例
- 卡米狗
- 聊天機器人

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### LineBot 應用範例
- 微股力
- 股票投資下單

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### LineBot 應用範例
- Style Info
- 批踢踢熱門輿論

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### Why LineBot
- 深深結合臺灣生活圈
- 使用者量龐大
- 沒有學習曲線
- 可被邀請至群組擴散效應驚人
- 不需要額外開發 APP
- 憑證費用
- 開發成本
<span>**大幅縮小服務上線時間與成本**<!-- .element: class="fragment" data-fragment-index="1" --></span>
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot
- 共 63 位同仁加入
- 最近十天平均被呼叫 35 次/天
- 總共 1124 筆紀錄
- 錯誤碼查詢次數 559 次
- 最常被查詢錯誤碼 5902 共 19 次
- 通訊錄查詢次數 407 次
- 最常被查詢同仁 Doreen 共 18 次
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹
- 聊天功能
- 整合 ChatterBot@github
- 9100 stars
- 支援中文與機器學習
- 目前已遮蔽使用者操作
<span> - 因為被教壞了<!-- .element: class="fragment" data-fragment-index="1" --></span>
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 功能介紹
- 推播
- 目前已遮蔽使用者操作
- 占用有限的額度 500 則/月
- 可針對新竹或台北同仁推播
- 未來可針對重要需通知功能整合
<span>颱風假偵測系統封測中<!-- .element: class="fragment" data-fragment-index="1" --></span>
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 如何加入與使用

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 如何加入與使用

---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 取得資料
- 爬蟲
- HelpDesk
- 離線儲存錯誤碼
- 通訊錄
- 姓名
- 電話
- 部門組別
- 產生驗證碼
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### CGLineBot 取得資料
- 出缺勤系統
- 姓名
- 時間
- 事由 或 代理人
- 種類
- 公出 請假
- 整合使用者設定的自訂訊息
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 架設 LineBot
```sequence
Note right of User: User打字中
User->Line: 哈摟,你好嗎?
Note right of Line: WebHook
Line->LineBot: 哈摟,你好嗎?
Note right of LineBot: LineBot思考中
LineBot-->Line: 我很好,謝謝!
Line->User: 我很好,謝謝!
```
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 架設 LineBot
- WebHook
- Domain
- HTTPS
- ngrok
- 本機開發測試開發神器
- Heroku
- 支援多種程式語言的雲端平台
- 官方推薦
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 架設 LineBot
- line-bot-sdk-python@github
- Python >= 2.7 or >= 3.4
- pip install line-bot-sdk
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 架設 LineBot
```python=
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('YOUR_CHANNEL_ACCESS_TOKEN')
handler = WebhookHandler('YOUR_CHANNEL_SECRET')
```
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 架設 LineBot
```python=
@handler.add(MessageEvent, message=TextMessage)
def handle_message(event):
line_bot_api.reply_message(
event.reply_token,
TextSendMessage(text=event.message.text)
)
```
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### Demo
{%youtube Sk086bDzzGk %}
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
#### 參考
- Line sdk python (官方文件)
- https://github.com/line/line-bot-sdk-python
- WebHook
- https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E9%92%A9%E5%AD%90
- Line bot 教學
- https://ivanjo39191.pixnet.net/blog/post/119788128-python-linebot%E7%B7%B4%E7%BF%92
---
<!-- .slide: data-background="https://i.imgur.com/KDWss4j.jpg" -->
Thank you for your patience.
---
{"metaMigratedAt":"2023-06-15T00:29:20.580Z","metaMigratedFrom":"YAML","title":"CGLineBot","breaks":true,"slideOptions":"{\"transition\":\"zoom\",\"spotlight\":{\"enabled\":false},\"theme\":\"white\"}","contributors":"[{\"id\":\"edde0e5f-70cf-46f2-8397-8734926d4b35\",\"add\":11152,\"del\":5421}]"}