發表文章

目前顯示的是 6月, 2017的文章

使用C#開發LineBot(9) - 取得新加入的好友身分資訊

圖片
在知道了如何建立LineBot的WebHook之後,許多朋友開始有了另一串問題。其中我最常被問到的就是,如何在用戶加入你的bot為好友的時候,取的用戶的身分xk7。 這個問題中有兩個關鍵: 用戶加入你的bot時,你如何得知? 如何取得特定用戶的身分資訊? 這兩個動作都不難,都可以在我們的WebHook中取得。 首先,當有一個新的用戶加入你的Bot為好友時,我們可以從WebHook取得的JSON得知,透過我們的SDK,你可以很簡單的以底下的程式碼判斷: if (ReceivedMessage.events.FirstOrDefault().type == "follow") { … } 因為新加入好友或是被解除封鎖,都會收到type是follow的event,因此上面的程式碼很容易判斷出有新的好友來了… 而得知新好友(用戶)來了之後,我們可以透果底下這一行取得用戶資訊: var userInfo = bot.GetUserInfo(ReceivedMessage.events.FirstOrDefault().source.userId); 得到userInfo物件之後,你可透過 displayName 輕鬆取得用戶暱稱,也因此,我們把用戶暱稱顯示出來: bot.ReplyMessage(ReceivedMessage.events.FirstOrDefault().replyToken, $"哈,'{userInfo.displayName}' 你來了...歡迎"); 得到的結果就是: 當用戶加入某個bot為好友,或是解除封鎖,都會收到follow,我們上面的程式碼抓到用戶名稱,顯示出來,結果就是上圖這樣。 很容易吧,試試看囉… hope enjoy it… 此範例原始程式碼位於 : https://github.com/isdaviddong/LineBotExample_GetUserInfo/blob/master/LineBotExample_GetUserInfo/Controllers/LineBotController.cs -------------------------------------------- 相關課程: http://www.studyhost.tw/NewCourses/L

關於asp.net framework的本質

圖片
很久沒有聊聊asp.net了,但畢竟asp.net跟我緣分不淺,或許該找個時間來談談。不過,今天我們試試看換一種方式,也讓大家自我挑戰一下,題目來囉... 我們說asp.net是一個web開發框架(framework), 現在的asp.net framework提供了三種不同的方式(途徑、架構、風格)來建立網站,分別是哪三種? 這三種分別有哪些特性(或優缺點)呢? 這三種可以混用嗎? 來公布答案。 首先,千萬別執著對錯,因為我這題目本身就很爛(題意不清),其實我們應該把.net core和asp.net分開來看...這題談的不是asp.net core, 但題目沒說清楚,會讓人誤會。 因此,重點不是對錯,而是我們要藉著這題目來釐清整個asp.net的架構與觀念。 首先,題目與答案都在這邊: ASP.NET is great for building standards-based websites with HTML5, CSS3, and JavaScript. ASP.NET supports three approaches for making web sites. ASP.NET Web Forms uses controls and an event-model for component-based development. ASP.NET MVC values separation of concerns and enables easier test-driven development. ASP.NET Web Pages prefers a single page model that mixes code and HTML markup. You can mix and match these techniques within one application depending on your needs - it's all One ASP.NET. 上面這段話的來源是: https://www.asp.net/get-started/framework 所以,從這邊我們可以知道,先撇開.net core不談,asp.net framework (on windows),主要approaches Web Sites的方法有三,分