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
15
為什麼需求總是被誤解?實例化需求可能是缺少的拼圖 🧩
kyleshen
0
26
MVP 聚技站 - 低程式碼 AI 時代 TW(五):Azure Boards with Power Automate
kyleshen
0
33
2023 Agile Summit - 大型組織下的 PO 探索之路
kyleshen
1
58
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
[JAWS-UG金沢支部×コンテナ支部合同企画]コンテナとは何か
furuton
3
260
事業者間調整の行間を読む 調整の具体事例
sugiim
0
1.5k
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
640
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
Commitment vs Harrisonism - Keynote for Scrum Niseko 2024
miholovesq
6
1.1k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
150
10分でわかるfreeeのQA
freee
1
3.4k
独自ツール開発でスタジオ撮影をDX!「VLS(Virtual LED Studio)」 / dx-studio-vls
cyberagentdevelopers
PRO
1
180
【若手エンジニア応援LT会】AWS Security Hubの活用に苦労した話
kazushi_ohata
0
170
ABEMA のコンテンツ制作を最適化!生成 AI x クラウド映像編集システム / abema-ai-editor
cyberagentdevelopers
PRO
1
180
国土交通省 データコンペ参加者向け勉強会
takehikohashimoto
0
120
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
9
120k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Rails Girls Zürich Keynote
gr2m
93
13k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Fireside Chat
paigeccino
32
3k
Agile that works and the tools we love
rasmusluckow
327
21k
Making the Leap to Tech Lead
cromwellryan
132
8.9k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Into the Great Unknown - MozCon
thekraken
31
1.5k
Why Our Code Smells
bkeepers
PRO
334
57k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
790
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
特別感謝