Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
.NET Conf Taiwan - 用 .NET Core 來開發 .NET Conf 20...
Search
Kyle Shen
December 18, 2020
Technology
100
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
.NET Conf Taiwan - 用 .NET Core 來開發 .NET Conf 2020 Line 活動機器人
https://study4-tw.kktix.cc/events/dotnetconf2020
Kyle Shen
December 18, 2020
More Decks by Kyle Shen
See All by Kyle Shen
產品指標不是一道數學題:從 Output 到 Outcome
kyleshen
0
180
不只是主管 - 那些年技術管理教會我的事 👀
kyleshen
0
190
為什麼需求總是被誤解?實例化需求可能是缺少的拼圖 🧩
kyleshen
0
160
MVP 聚技站 - 低程式碼 AI 時代 TW(五):Azure Boards with Power Automate
kyleshen
0
160
2023 Agile Summit - 大型組織下的 PO 探索之路
kyleshen
1
140
STUDY4.TW 2023 小聚 - 以最小限度導入 Azure Boards
kyleshen
1
230
.NET Conf Taiwan - 那些年用 Azure Boards 交付過的產品
kyleshen
0
210
MOPCON - 行動化解決方案的技術選型, 交給 Line Bot 來搞定
kyleshen
0
79
Other Decks in Technology
See All in Technology
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.1k
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
140
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
190
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
空間オーディオで過去の 自分(ゴースト)と競うランニング 〜HealthKitのルートを足音に変える実装〜
nao_randd
0
230
作って終わりじゃないサーバーレス 〜9年運用する大規模EC物流API基盤の設計・運用のリアル〜
zozotech
PRO
0
130
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
3k
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
680
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
200
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.3k
越境するなら専門用語を使うな高校校歌 / If you wanna cross border, you shouldn't use jargon
vtryo
0
140
Featured
See All Featured
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
240
エンジニアに許された特別な時間の終わり
watany
109
250k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
280
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
3
4.3k
The Curse of the Amulet
leimatthew05
3
14k
GraphQLとの向き合い方2022年版
quramy
50
15k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Being A Developer After 40
akosma
91
590k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.9k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
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
特別感謝