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
28
為什麼需求總是被誤解?實例化需求可能是缺少的拼圖 🧩
kyleshen
0
40
MVP 聚技站 - 低程式碼 AI 時代 TW(五):Azure Boards with Power Automate
kyleshen
0
39
2023 Agile Summit - 大型組織下的 PO 探索之路
kyleshen
1
60
STUDY4.TW 2023 小聚 - 以最小限度導入 Azure Boards
kyleshen
1
150
.NET Conf Taiwan - 那些年用 Azure Boards 交付過的產品
kyleshen
0
75
MOPCON - 行動化解決方案的技術選型, 交給 Line Bot 來搞定
kyleshen
0
16
Other Decks in Technology
See All in Technology
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
230
Oracle Cloud Infrastructure:2024年12月度サービス・アップデート
oracle4engineer
PRO
0
210
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
170
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
kargoの魅力について伝える
magisystem0408
0
210
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
120
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
開発生産性向上! 育成を「改善」と捉えるエンジニア育成戦略
shoota
2
400
生成AIのガバナンスの全体像と現実解
fnifni
1
190
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
610
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
320
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Code Reviewing Like a Champion
maltzj
520
39k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
The World Runs on Bad Software
bkeepers
PRO
65
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Into the Great Unknown - MozCon
thekraken
33
1.5k
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
特別感謝