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
36
.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
61
為什麼需求總是被誤解?實例化需求可能是缺少的拼圖 🧩
kyleshen
0
61
MVP 聚技站 - 低程式碼 AI 時代 TW(五):Azure Boards with Power Automate
kyleshen
0
60
2023 Agile Summit - 大型組織下的 PO 探索之路
kyleshen
1
71
STUDY4.TW 2023 小聚 - 以最小限度導入 Azure Boards
kyleshen
1
170
.NET Conf Taiwan - 那些年用 Azure Boards 交付過的產品
kyleshen
0
110
MOPCON - 行動化解決方案的技術選型, 交給 Line Bot 來搞定
kyleshen
0
20
Other Decks in Technology
See All in Technology
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
2
140
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
150
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
強化されたAmazon Location Serviceによる新機能と開発者体験
dayjournal
2
150
実践! AIエージェント導入記
1mono2prod
0
140
AIにどこまで任せる?実務で使える(かもしれない)AIエージェント設計の考え方
har1101
3
1.2k
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
390
Agentic Workflowという選択肢を考える
tkikuchi1002
1
370
Oracle Cloud Infrastructure:2025年6月度サービス・アップデート
oracle4engineer
PRO
1
140
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
800
LinkX_GitHubを基点にした_AI時代のプロジェクトマネジメント.pdf
iotcomjpadmin
0
160
ローカルLLMでファインチューニング
knishioka
0
120
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1031
460k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Music & Morning Musume
bryan
46
6.6k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
Done Done
chrislema
184
16k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
Building Applications with DynamoDB
mza
95
6.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
RailsConf 2023
tenderlove
30
1.1k
GraphQLとの向き合い方2022年版
quramy
46
14k
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
特別感謝