Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
.NET Conf Taiwan - 用 .NET Core 來開發 .NET Conf 20...
Search
Kyle Shen
December 18, 2020
Technology
0
29
.NET Conf Taiwan - 用 .NET Core 來開發 .NET Conf 2020 Line 活動機器人
https://study4-tw.kktix.cc/events/dotnetconf2020
Kyle Shen
December 18, 2020
Tweet
Share
More Decks by Kyle Shen
See All by Kyle Shen
不只是主管 - 那些年技術管理教會我的事 👀
kyleshen
0
19
為什麼需求總是被誤解?實例化需求可能是缺少的拼圖 🧩
kyleshen
0
30
MVP 聚技站 - 低程式碼 AI 時代 TW(五):Azure Boards with Power Automate
kyleshen
0
36
2023 Agile Summit - 大型組織下的 PO 探索之路
kyleshen
1
59
STUDY4.TW 2023 小聚 - 以最小限度導入 Azure Boards
kyleshen
1
140
.NET Conf Taiwan - 那些年用 Azure Boards 交付過的產品
kyleshen
0
71
MOPCON - 行動化解決方案的技術選型, 交給 Line Bot 來搞定
kyleshen
0
15
Other Decks in Technology
See All in Technology
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
AIチャットボット開発への生成AI活用
ryomrt
0
170
Terraform Stacks入門 #HashiTalks
msato
0
360
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
180
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
320
飲食店データの分析事例とそれを支えるデータ基盤
kimujun
0
180
Engineer Career Talk
lycorp_recruit_jp
0
190
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
4
230
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
20
1.1k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Site-Speed That Sticks
csswizardry
0
28
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.8k
Become a Pro
speakerdeck
PRO
25
5k
A Tale of Four Properties
chriscoyier
156
23k
Unsuck your backbone
ammeep
668
57k
Practical Orchestrator
shlominoach
186
10k
Faster Mobile Websites
deanohume
305
30k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
110
Building Adaptive Systems
keathley
38
2.3k
Transcript
用 .NET Core 來開發 .NET Conf 2020 Line 活動機器人 Kyle
Shen
今天會講什麼? • 理解 Line Chatbot 可以怎麼玩 • 乾脆做一個活動 Chatbot 好了
• 順便做了一版Line的SDK • 希望各位能開始有一些發想&應用
Kyle Shen • 威煦軟體 – CTO • Study4.TW 社群成員 •
曾任 2014-2018 微軟最有價值專家 • 一個走進設計學院的工程師,喜歡做跨領域結合的事情 • Blog 程式宅急便 -> Kyle Studio (medium) • 今年搞了個Podcast – 職涯超有病
I ❤️ Chatbot • 快速驗證 • 一致的操作體驗 • 易於跟異質系統串接
自己的婚禮程式自己寫…
自己的婚禮程式自己寫…
一些商業化的經驗
LINE Developers
價值1個億的程式碼
價值1個億的程式碼
任務型導向 vs 聊天型導向
Event 1 Post Request to Channels Webhook Post req 2
Logic 3 4 5 Response Webhook
Webhooks 接受第一個來自 Line 的訊息
Event Post Request to Channels Webhook Post req Logic Response
Webhook 1. 註冊一個 Line Chatbot 2. 開發階段打通地端Local Server 3. 驗證Request是否來自Line Server 4. 接收 Webhook
準備一個Bot - Checklist [ ] 申請一個Provider [ ] 申請一個Channel (一個Provider可以有多個Channel)
[ ] 於Channel取得 Channel Secret 及 Access Token [ ] Use webhook 啟用 [ ] Auto-reply messages 關閉 [ ] 設定 Webhook URL (需為https)
打通地端 local server npm install –g ngrok --安裝ngrok ngrok http
5000 -host-header="localhost:5000" -region ap ngork 預設的US Server,會被Line阻擋
Line 驗證
接收 Webhook
探索 .NET 新世界 .NET Conf Demo Time 第一個 Echo Bot
Message Types 在 Line 裡面有哪些訊息可以玩?
Event Post Request to Channels Webhook Post req Logic Response
Webhook 1. 理解使用者的意圖 2. 定義Message/Action 3. 如何透過Reply Token 發送
理解使用者的意圖 • Chatbot 未必包含機器學習,遵從指令做事也未必需要機器學習 • Intent vs Entity • 預訂機票
- > 您好請問您要飛往哪裡的機票呢? • 我要預定機票 -> 您好請問您要飛往哪裡的機票呢? • 我要預定5/23機票 -> 好的,請問您要預訂5/23飛往哪裡的機票呢? • 我要預定下禮拜飛往西雅圖的機票 -> 好的,請問是下周幾呢?
發送第一個回覆訊息 https://developers.line.biz/en/reference/messaging-api/#send-reply-message 要發送的 Endpoint 頻道的 access token 回覆的token,30秒內有效 訊息的類型,依據不同類型有 不同的schema
Message - Sticker Message https://developers.line.biz/media/messaging-api/sticker_list.pdf
Message – Video/Audio Message
Message - Location Message
Message - Template message Buttons Confirm Carousel Image Carousel
Action 目前支援以下類型 • Postback action • Message action • URI
action • Datetime picker action • Camera action • Camera roll action • Location action
.NET Conf 機器人 Sample
探索 .NET 新世界 .NET Conf Demo Time 回傳不同類型的訊息
設計師魂上身,工程師也不用怕沒美感
Flex Message 結構
Flex Message Simulator https://developers.line.biz/flex-simulator/
探索 .NET 新世界 .NET Conf Demo Time Flex Message 設計師魂上身
Rich Menu 製作選單,讓使用者快速上手
Event Post Request to Channels Webhook Post req Logic Response
Webhook 1. 定義 Rich Menu 2. 取得 Rich Menus 3. 設定該使用者的 Rich Menu
Rich Menu 可以怎麼玩 • 依據使用者切換選單 Account link
Rich Menu 可以怎麼玩 • Line提供設計規範,但可自行定義座標
探索 .NET 新世界 .NET Conf Demo Time 更換選單
Liff App Web Developer,你們吃天下!
Event Post Request to Channels Webhook Post req Logic Response
Webhook 1. 設定 Liff App 2. 使用 Liff App SDK 開發 Application
Liff App 介紹 • LINE Front-end Framework • 在聊天室開啟你的網頁應用程式 •
支援三種瀏覽的大小 • 掛入liff app js sdk 可與Line做互動
新增一個 Liff App • 於 Provider 新增一個 LINE Login 服務
• 切換至 Liff Tab • 新增 Liff 資訊
探索 .NET 新世界 .NET Conf Demo Time 將網址與一個Liff App連結
Liff App 範例 取得Line資訊 發送Request到Api
Liff App 範例 回傳觸發捕捉大神 Intent,3秒後關閉
膝蓋中了一箭…..
Push Notify 在Line裡面,主動式推播可以怎麼做?
Event Post Request to Channels Webhook Post req Logic Response
Webhook Application 1. 發送主動式推播
Line 主動式推播 • Line Push Api:以Bot名義推播,會有費用產生 • Line Notify:以Line名義推播,無須費用
準備一個Line Notify - Checklist [ ] 註冊 Line Notify 服務
[ ] 取得 client_id [ ] 取得 client_secret [ ] 取得驗證的 code [ ] 透過第2-4項取得 access token 鐵人賽 Day 21-當有人報名的時候接收通知 (Line Notify)
Line Notify 範例
Line Notify 範例
Summary 做個覆盤
今天講了… • Line Message Types 和 Actions • Rich Menu
製作選單 • Liff App 製作網頁小程序 • 在Line如何發送主動式的推播 • 期待未來能看到更多 chatbot 應用發想 • 鐵人賽文章分享 : 宅男的浪漫 - 用 .NET Core 打造 Line 婚禮聊天機器人經驗分享
Thanks for joining! Ask questions on Twitter using #dotNETConf
特別感謝