June
2nd,
2020
前言 大家好,我是 LINE Taiwan 的 Tech Evangelist - Evan Lin。這次很開心受到 chatbot 社群的邀請,參加了 “Chatbot meetup 聊天機器人小小聚 19 @Online” 的聚會活動,並且分享 LINE API 更新與個人開發的心得。在此也跟各位分享本次參與的心得,並且也希望透過社群分享的力量能夠讓聊天機器人的開發動能更加的盛大。 社群 Chatbots Meetup: https://chatbots.kktix.cc/ 本次活動網頁: 活動網址 本次活動的共筆紀錄: https://hackmd.io/@chatbot-tw/meetups-019 由於 Chatbots Meetup 本身屬於社群自主性的活動,裡面也有許多社群朋友所贊助的閃電秀。裡面的所有內容也是相當的難得與有趣。也希望能夠透過本篇文章讓大家稍微了解 Chatbots Meetup 社群閃電秀的魅力。 由於防疫的要求,這次是在線上參與這次的聚會活動。很感謝每一位參與的朋友帶來的問題,希望透過線上以及錄影的方式可以讓更多的朋友可以了解。 LINE Platform Update 202005 / 資深開發技術推廣工程師 Evan Lin 投影片 04/30: liff.getLineVersion() and liff.id added to LIFF v2 雖然之前 LIFF 有提供了 liff.isApiAvailable() 的功能來檢查該 API 是否能夠支援。 但是許多時候,開發者是需要取得使用者的 LINE App 版本來對於問題的復現與除錯之用。 這時候可以透過 LIFF 的 liff.getLineVersion() 可以取得目前執行這個 LIFF 的 LINE App 版本號碼。 當然如果使用者是使用 External Browser 來開啟 LIFF 的話這個就會回傳 null 。 05/08: LIFF Versioning policy and life cycle have been released 接下來這個部分是討論 LIFF 的 Versioning policy 之後將採取 Semantic Versioning 也就是針對版本號碼的管理,將依照以下原則: MAJOR.MINOR.PATCH 。至於 MAJOR,MINOR 與 PATCH 分別代表什麼意義,歡迎查看相關資料。 此外,這一次的公告也提出了。將版本停止支援( End-of-life) 之後,相關的 SDK 也會從 CDN 移除,也就不會有任何 API 可以使用。 最後,也是最重要的就是開發者們關心的 LIFF 支援的週期: LIFF v1 將支援到 2021 的九月 。 希望所有開發者能夠記住這個時間,儘早準備 migrate LIFF App 到 LIFF v2 。 05/12: Messaging API update for May 2020 Message character limit and media file usage conditions have...
繼續閱讀
May
21st,
2020
前言 LINE Emoji 是指在 LINE App 中可以使用的 LINE 表情集,其中有分為通用的(免費)與付費的表情集。 使用 LINE Emoji 在訊息當中可以讓使用者閱讀的時候更有感覺。 但是身為開發者該如何正確地發送與接受處理這些 LINE Emoji 呢? 這一篇文章將透過 Golang 的範例程式碼,指引該如何正確地發送與接受 LINE 表情集 (LINE Emoji) 。 投影片: 範例程式碼 https://github.com/kkdai/linebot-emoji 實際跑一個範例 (demo) 加入這個官方帳號: 隨便傳送一個表情符號,會看到聊天機器人用三種方式回覆你。 分別是: 舊的 Emoji 傳遞方式來發送 新的 Emoji 傳遞方式來發送 加上使用者的 Emoji 並且透過新的 Emoji 來發送 新的 API 說明: Use LINE emoji in messages (2020/April) 現在開始要在文字訊息裡面發送 LINE emoji 不需要自行做 unicode 轉換。可以直接在 API 中加上相關的 LINE emoji 編號就可以達成了,開發上變得更方便,也更有彈性。 可以參考新的 API : Text message 或是參考新的公告:[Updated] Messaging API update for April 2020 Getting LINE emoji information from the text object of a webhook event (2020/May) 在四月提供了新的發送 API 之後,五月的 Webhook 也提供了新的 Webhook 資訊可以讓聊天機器人有效的處理 LINE Emoji 。 透過 emojis 可以取得所有訊息中出現的 LINE Emoji 詳細資訊如下: 可以參考新的 API : Text message webhook 或是參考新的公告:Messaging API update for May 2020。 使用 Golang 開發一個 LINE Emoji Echo Bot: 接下來的會使用 Golang ,根據 https://github.com/line/line-bot-sdk-go 提供的功能來開發 Echo Bot 。也就是一個會依照使用者講的文字來回覆的聊天機器人。 但是不同於一般 Echo Chatbot ,這個 Echo Bot 將會回傳使用者傳過來的 LINE Emoji ,所以需要具有以下幾個功能: 擷取 Webhook text Message 中的 emojis 資訊 。...
繼續閱讀
May
7th,
2020
前言 大家好,我是 LINE Taiwan 的 Technology Evangelist - Evan Lin。 感謝 DSC (Google Developer Student Clubs) 的邀請,在 2020/05/07 線上給予同學們基本的課程。 內容將有 Golang 的基本介紹,並且透過打造一個簡單的 LINE Bot 來跟各位展示 Golang 的一些優點。 這次有來自於四間大學(中興大學,台北大學,臺北科技大學以及銘傳大學)的 DSC 社團同學 ,全程也開放網路直播,希望可以讓更多對於 LINE Bot 有興趣的初學者一個良好的教材。 Build LINE Bot with Go / 資深開發技術推廣工程師 Evan Lin 投影片 這一次分享的投影片,主軸分成三個: 為什麼我會學習 Golang ? 什麼是 Golang? 經過了十年在多媒體外商軟體公司的工作之後,為了學習新的 Web 程式語言進而嘗試了不少的程式語言之後,最後選擇了 Golang 來鑽研。並且為了深入的學習 Golang ,而啟動了 Project 52 來作為學習 Golang 的方式,也因此學習了不少的演算法與進階的資料格式的應用方式。 這裡也介紹了一些 Golang 的基本優點: Gofmt / goimport: 幫助你可以讓你的程式碼風格一致並且避免遺漏某一些需要使用的套件。 Go test: 幫助你快速準備好測試的方式,撰寫測試程式碼再也不困難。並且可以相當快速的做好效能調校的工作。 GoDoc:做文件一直是讓開發人員很困擾的事情,不是因為開發人員不願意寫。往往是輸出到文件需要有一些相關的轉換,或是需要許多額外的資料在程式碼之中。 使用 GoDoc 只要開發者的程式碼已經寫好了,就可以直接在網路上找到(舉例: https://pkg.go.dev/github.com/line/line-bot-sdk-go/linebot 就是直接將 https://github.com/line/line-bot-sdk-go/linebot 轉換成文件的網站。 GoRoutine:做 multiple routine programming 在許多語言其實都有一些困難跟繁瑣。除了多線程模型本身就需要有相當多需要注意的東西之外,要建置這樣的所需的程式碼其實也很複雜。使用 goroutine 相當的輕量,並且相當的容易。開發者可以把心力全部放在如何處理多線程的相關控制上。 如何學習 Golang : 由於這次主要的聽眾都還是大學的學生(部分還是大一的學生),所以許多的操作範例都是直接在 Golang Playground 來進行操作。可以省去許多程式初學者經常遇到的環境設置的問題。 Golang Playground 同時也建議初學者可以把出現問題的程式碼透過 Golang Playground 來,分享出來在各種社群媒體來詢問。這樣一來也容易察覺問題與解決問題。 同時也建議同學們可以透過 Golang Tour 來一步一步的學習相關的知識,每一頁都有程式碼可以使用,可以線上編輯與執行。也可以透過邊練習,邊了解的方式更快速能夠加深印象。 什麼是 LINE Bot ? 如何透過 Golang 快速打造出一個 LINE Bot ? 學習一個語言最好的方式就是馬上透過它來打造一個東西,不論是一個產品,一個服務甚至是一個小工具。 在這裡相當建議各位透過打造 LINE Bot 來作為學習 Golang 的方式。主要的理由如下: 打造 LINE Bot 不需要高深的美術觀念,對於一些 UI 美感有困難的人。學習 LINE Bot 不僅僅可以更快入手,並且可以讓開發者更專注在程式本身的功能上。 使用正確的平台與訊息發送方式, LINE Bot 的開發是不需要任何費用。 在影片中的範例,展示透過 Heroku 作為伺服器的平台。打造出來的 LINE Bot 因為僅僅是回覆使用者的問題,也不需要任何額外的費用產生。 LINE 是一個相當好的工具(或是服務)的發佈平台,如果開發者們開發出相當有用的工具,透過 LINE 可以快速的推薦給親朋好友。而且不需要類似上架 App 的繁瑣的審核過程,發布的流程也是相當的快速。 接下來開始講解如何快速打造一個 LINE Bot: 範例程式碼:...
繼續閱讀
April
27th,
2020
前提
Golang 協會日前公布了去年的開發者調查結果。
Go Developer Survey 2019 Results
tl;pr (Too Long, Please Read)
我知道這個調查很長,你一定不會讀。我來幫你每天挑一個重點給你喔。
“Developer tools”
今天來討(ㄧ ㄣ \/)論(ㄓ ㄢ \)關於開發者工具的部分。
“你都在哪裡開發 Go?”
第一名: VS Code (16% -> 41 %)
不得不說~現在的 VS Code 真的是相當好用的 IDE(之一),低資源需求加上許多好用的外掛。
第二名: GoLand (15% -> 34%)
近期發表許多好用的功能,完美的整合讓 Go 開發環境整個完美而容易使用。 JetBrains 的 GoLand 真的相當好用,有喜歡的記得授權買下去!
第三名: Vim (28% -> 14%)
身為最好用 IDE? 的 Vim (誰說是 IDE? 明明就是 OS?) 佔有率竟然慢慢的下滑。
可能因為其他工具的整合性越來越高,對於 console mode 的整合也變得很方便。
許多也都有提供 vim mode (咦?) 讓 vim 的佔有率慢慢減少。
你是用哪套 IDE 呢? 歡迎各位來討論喔!!
繼續閱讀
April
26th,
2020
(翻譯文章) LINE Flex Message Template
前提
本篇文章為翻譯文章,原文為 LINE Flex Message Template from LINE 泰國的 LAE (LINE API Expert) PamornT.
本文
LINE LINE Bot 朋友您好,根據 LINE Chat Bot的個人經驗,發現有一項重要任務是設計對用戶消息和非常流行的消息的回答 - 那就是透過 Flex Message 來發送回覆。
當嘗試與同時創建 LINE Chat Bot 的朋友交談時,他們也必須使用相同的 Flex,我們認為應該共享不同類型的 Flex Message 的樣板作為資源,以節省開發 LINE Chat Bot 的時間,提供開發人員使用和使用。
如果有人想分享 Flex Message,請在下面的鏈接中分享。原作者在這裡收集。謝謝參加的每個人都可以提供幫助。非常感謝你。
https://www.facebook.com/groups/LINEDEVTH/permalink/497494880914423/
請選擇您喜歡的一個,複製圖片下方的鏈接要點,以一起使用 ^^
車牌(泰國格式)
(CR。Pamorn Trivorrarat)
https://gist.github.com/…/440fb7788e8c501ad7115b7d7ed14a3b
收據
(CR。Pamorn Trivorrarat)
https://gist.github.com/…/40d8044af1fff88aac97dc74f85f5a4b
登機證
(CR.Siratee Kittiwitchaowakul)
https://gist.github.com/…/e9b33491edf45416cd124b8234051379
油價
(CR。Charoensin缺陷)
https://gist.github.com/…/0689bc210a2a8f5ccb3a352e70f72583
餐廳排隊卡
(CR.Siratee Kittiwitchaowakul)
https://gist.github.com/sirateek/f7ad9562bbdc500d87cfa27768e83292
追踪包裹運送狀態
(CR。Pamorn Trivorrarat)
https://gist.github.com/PamornT/086a249fad9b99a6d49db4b1b57ee116
足球比分表
(CR.Sitthi Thiammekha)
https://medium.com/linedevth/worldcup-flex-864fb27db1a2
圖表
(CR。Pamorn Trivorrarat)
https://gist.github.com/PamornT/7990f0d5431ac92a4b404323058bdc4e
附註:任何想要分享,添加,分享到此文章的人,非常感謝你。
https://www.facebook.com/groups/LINEDEVTH/permalink/497494880914423/
繼續閱讀
April
22nd,
2020
前提
Golang 協會日前公布了去年的開發者調查結果。
Go Developer Survey 2019 Results
tl;pr (Too Long, Please Read)
我知道這個調查很長,你一定不會讀。我來幫你每天挑一個重點給你喔。
“Pain points”
這邊調查,為什麼你不使用 Go 在你的專案裡面的原因。
這邊列出前三名,別且列一下 2016 調查報告跟 2019 的數字比對。
本來會以為是第一名的 Generic 結果並不是喔!!
第一名: 目前專案是其他程式語言( 58% -> 56%)
蠻合理的~ 換一個語言改寫整個上線的產品或是專案。不是你走~就是老闆叫你走。 XD
第二名: 我的團隊(老闆)(專案)喜歡其他程式語言 ( 45% -> 37%)
這個蠻有趣的,其實社群內經常聽到「老闆叫我不要用 Go 」「老闆喜歡其他語言」 這些都需要持續的導入。 wwww
不過數字變低是好事。
第三名: Go 缺少一些我需要的語言特性 ( 16% -> 25%)
終於到了大家比較有爭議的點,也就是是否 Go Generic 讓大家在開發上覺得困擾。
不過比例有增高,可能是開發了一段時間後真的有相關的需求。
歡迎各位來討論喔….
繼續閱讀