紀錄一下這三個月接觸Linebot的心得 Show 前言這學期因專題開始接觸聊天機器人,覺得Line是大家都在使用的通訊軟體,算挺好發揮的主題,於是捲起袖子開始研究。若結合一些金融服務應該還不錯,也不需要另外裝APP,多好! 市面上已經有許多基於聊天機器人開發的產品,越來越多企業採用聊天機器人作為服務項目,接觸當紅聊天機器人後發現蠻多有趣的應用,相信未來聊天機器人的生態圈會更加蓬勃。 開發用到的程式語言、工具、第三方服務
實作成果回顧近三個月的時間,經過不斷討論、設計後實作出一個不錯的成果。基本上這次實作用到Line的API幾乎都是Flex Message,還有部分的Quick Reply。
組員設計的menu,使用者可以選擇他想要獲得的資訊 個股相關資訊:即時股價、K線、KD指標、成交量、籌碼面、新聞 股票健診這項功能的靈感來自財報狗,所以我們也做了類似功能,不過介面是組員設計。主要針對個股進行股票健診,到各大財金網站爬取目標財務比率,將結果以報告的形式回傳給使用者。 股票健診(圖片是舊的,通過未通過顏色的部分還沒修正,新版已做修改) 爬的資料來源是博客來理財新書榜、暢銷榜的連結,使用者點擊後可到購買頁面(這沒有業配) 其他推薦,Flex Message 以carousel的形式呈現配合資料庫做個人股票清單、外匯清單使用者在查詢股票或外幣時,下方都會出現加入清單的按鈕,點擊後即可新增至個人清單中,也可做刪除、修改等操作。確定新增成功後,輸入”我的外幣”或是”我的股票”,可以一次查詢儲存在個人清單中的外幣或股票。 到價提醒使用者可透過指令設定到價提醒,若該檔股票當前股價達成使用者設定的門檻條件時,機器人會跳出通知提醒。 回顧三個月以來的收穫:技術面
接觸更多社群討論在line developers臉書社群看到很多活躍的開發者,大家都不吝分享自己的開發心得,看到其他人做的應用都非常有趣,社群還有定期舉辦小型聚會交流意見。這次開發Linebot過程除了看官方文件外,還有前輩們的教學文,幫助我避開不少坑XD LINE TAIWAN TECHPULS這學期適逢每年都會舉辦的Line台灣開發者大會,有幸參與這麼大型的盛會,整個活動安排的滿滿滿。主題包含AI、資安、公司未來方向等。 當天有不少企業來分享公司如何將Linebot運用在產品,有醫療、旅遊、美食、交通旅遊、個人學習及購票系統等應用,Line也藉此推廣Line protostar計畫,希望能建立夥伴關係,幫助更多公司透過Line開發平台推出服務。 所有議程中最有感是由LINE技術傳教士之稱的Evan分享他們在改善UX/DX(使用者經驗/開發者經驗)上所做的努力,其中包含:
未來會持續改善使用者/開發者體驗 上面提到UX/DX最有感觸的原因是Flex Message API,Line 提供設計介面,設計師不需要看枯燥的程式碼,只需滑鼠點擊操作即可完成美美的UI。更棒的是,設計完可以直接以JSON格式匯出,對開發者來說是一大福音! Flex Message Simulator設計介面後端只要把JSON資料放入Flex Message API內,將部分資料做動態載入即可完成。 與不同系朋友合作這次與其他系的朋友一起進行。多虧有他們一同發想、設計UI及互動腳本,才能做出這樣的成果。受益於Flex Message Simulator,討論完規格需求後,介面設計與功能開發能夠同步進行。 善用工具可以加快工作效率
使用後且覺得還不錯的工具,利用這個機會紀錄一下XD
發現編輯器新玩意兒-power mode在某天深夜研究Line API,閱讀官方文件實在乏味,腦中閃過之前參加HackMD聚會,看到講者demo一個寫code的炫炮效果,又聯想到久遠之前軟工版上在討論類似的VSCode擴充套件,索性找來玩玩。 結果……. 是不是很炫炮XD 分享一下我的設定 其實還很多,可以到此連結找找有沒有自己喜歡的。(這算哪門子的收穫) 後記在開發過程遇到幾個困難點:
有些工具在本地端開發時可以正常運作,但部署到Heroku上則無法支援,例如: selenium(爬蟲工具)、talib(技術分析工具)或是繪出的圖片不支援中文字,這些都要另外配置。 在不知情的情況下,很多時候部署上去,機器人就突然無法運作,terminal、Heroku後台的log都不會提示錯誤訊息,只好一個個找問題來源,再讀官方文件做環境配置,這部分花我一些時間…….
Line今年更改免費商用帳號方案從原本訊息量無限制到每月500則。若當月測試比較頻繁,就必須一直更換帳號,每次達額度上限就換token實在有點麻煩,付費方案則是學生難以負擔。 最後,個人覺得有點小可惜的地方是有些Linebot提供的API沒試過,例如LIFF,原本想做個選股服務,但篩選太多檔股票直接回傳給使用者的話訊息會拉太長,不適合在手機上瀏覽。 後來有想到用webview方式,透過LIFF在Linebot上嵌入網頁視窗,將篩選出的股票以table形式呈現在網頁視窗上,不過還需要研究、討論如何設計,因時間關係只好暫時作罷,之後再試試看囉。 webView的形式 來源專案程式碼地址: 點這裡 ,如果覺得有幫助的話請給我一顆星星~ 拍手時間 你(妳)的鼓勵會讓我更有動力寫文章分享!
鐵人賽剩最後三天啦! 今天是實作一個關於介紹管樂器的 LINE Bot,小學三年級開始學管樂到現在,一直都很熱衷樂器,所以就想說做一個跟樂器有關的聊天機器人(●'◡'●) 那這邊呢是利用前面練習過的圖文選單及一些功能來製作的,看起來非常的陽春,請各位別太介意:D 話不多說,馬上來看看吧! 首先,建立一個新的聊天機器人 建立圖文選單。當點選木管或銅管時,系統會回應相對應的訊息;點選打擊時,則會直接連結到維基百科 再來是程式碼的部分,基本上就是前面練習過的功能東拼西湊組合而成,所以這邊就放一張當代表 接著到聊天機器人裡面看看成果吧! 範例是點選豎笛,就會出現豎笛的簡介以及圖片 點擊圖文選單的銅管會出現轉盤樣板,總共有五個 向右滑動可以看到其他的轉盤樣板 點選樂器的介紹,系統會回傳預設的文字訊息;點選連結則是連結到各個樂器的維基百科網頁 點擊圖文選單的打擊則是直接連結到打擊樂器的維基百科網頁
今天的小小專題就到這邊啦~我們明天再見! 參考資料:Python與LINE Bot機器人全面實戰特訓班-Flask最強應用
|