筆者寒假開發一個查大學科系標準的 LINE 機器人,很幸運的獲得不錯的迴響,發布不到一個月使用者就破萬,但也讓我驚喜的,是能被邀請參加 Chatbots Meetup 聊天機器人開發者線上聚會,除了第一次擔任講者分享開發過程,也旁聽其他大神的技術簡報。本文會分享我 2022 年 Chatbots Meetup 小聚的與會紀錄!
前言:首次受邀參加程式聚會( Chatbots Meetup )
筆者之前唯一參與過的程式相關聚會是 2020 年的 SITCON 學生計算機年會,當時我連 Python 都不大會寫就去參加,儘管後來有自學程式開發並做些小作品,但我一直沒想過自己會參加程式技術類別的討論聚會,更別說擔任講者。
而在今年寒假我寫了一個幫高中同學查詢大學科系標準的 LINE 機器人,沒想到發布後在社群平台有還不錯的迴響與轉發,我也因此被 LINE 官方認證的技術專家陳佳新前輩邀請參加Chatbot developers 線上小聚,分享我的開發過程。
由於是第一次參加技術類型的小聚發表,我就先選擇參加 5 分鐘的閃電場場次,嘗試在短時間內快速與他人分享我的開發思路與動機,並旁聽其他開發者的簡報。下文會分享 2022 年二月初第一場次聚會的參與心得與筆記。
影片錄影在這裡:Chatbots Meetup 線上聚會 2022 年 2 月場次臉書錄影連結 👈🏻
透過 Chatbot 發送 e-mail | Ko Ko 前輩
第一位講者是 Microsoft AI 的 MVP Ko Ko 前輩,分享透過 Chatbot 自動化寄送 email,就是「 用傳訊息來傳訊息 」
Ko Ko 前輩使用微軟的 BotFrameWork 工具建立 Chatbot,利用 .NET 6 Minimal API 以 http request 的方式觸發 Logic Apps 來寄送 email:
微軟 Logic App 是基於雲端的自動化工具,可以設計 workflow 來達到自動執行的效果。我自己使用過類似的線上服務 Zapier,串接 Notion & LINE Bot。
使用者對 LINE 機器人傳送 email 位置、主旨、訊息內容後,以 JSON 格式傳送到 .NET,進而利用 Logic App 抓取 JSON 裡的 value 並套到 outlook 信件內容裡寄送。
在這個場次,我主要瞭解到有 BotFrameWork 這個開源軟體可以使用,透過可視化流程圖的方式設計機器人,做 Chatbot 前端時可以省下不少時間~~
三小時 Node.js 工作坊授課經驗分享 | 戴均民前輩
第二場是 LINE API Expert 戴均民前輩分享 Node.js LINE Bot 學校 / 社團工作坊的授課經驗,說明如何在梅竹黑客松用 3 小時教學 LINE Bot 的開發,包含 Chatbot 開發的基礎知識、Messaging API 操作練習和 LIFF 製作。
這次工作坊不一樣的地方是全程「線上教學」,為了解決學員開發環境不相同的問題,均民前輩就用線上開發網站 CodeSandBox 來達成,就是在瀏覽器上寫 code、編譯並在雲端部署。
CodeSnadBox 可以在不用綁定信用卡的情況下開 server 給 Chatbot 用,也有線上編輯器可以直接寫 code,不用碰到 git( 當然會的話更好 )筆者我自己是用 Repl.it:
如果你也有在開發 LINE 機器人,推薦你加入均民前輩的「 Flex 開發人員工具 」可以查看 bot 端收到的 JSON 內容,也可以試用最新版的 richmenu 操作,開發 LINE 聊天機器人更方便。
點我加入 Flex 開發人員工具好友 👈🏻
在這個議程中,筆者瞭解到均民前輩設計遠距工作坊的思路與考量點,透過事先將程式跟教學彙整成線上文章,並利用線上 IDE 解決開發環境不同的問題,我自己剛好有計畫在暑假教學校學弟妹寫程式,從這分享汲取許多經驗。
在聚會結束之後,均民前輩還會不吝回答筆者私訊的技術問題,也給予我許多開發 Chatbot 的建議,超級感謝~
🔗 相關連結:戴均民前輩的個人部落格
做 LINE Bot 幫全台高中生找大學科系 | 作者自己
再來就是筆者我自己的閃電場議程了!我在大約 8 分鐘分享我如何透過 LINE 機器人的方式,幫助全台灣高中學生查詢全台大學科系標準與二階日期,包括設計動機、程式架構與開發過程,怎麼改善效能等等。
點我可以看直播錄影影片,我的部分是在 1:18:55 開始的。
個人有把開發的動機與技術筆記整理在這篇文章,就不另外贅述:1 個月內累積破萬使用者:大學科系查詢 LINE 機器人 製作分享 👈🏻
簡單來說,我發現同學和家長覺得翻紙本簡章很不方便,便發想透過 LINE 機器人的形式,讓同學可以傳關鍵字、找科系資訊,因為是用大家熟悉的聊天室平台,操作更好上手,而這個機器人在不到三個禮拜累積了一萬多位使用者。
自製 Flex Message API | NiJia Lin 前輩
接著是在 LINE 擔任 TE ( Technology evangelist )的 NiJia Lin 前輩分享他自製 Flex Message API。現在 LINE 官方的 Flex Message 有兩個問題:
- 官方 Flex Simulator 得到的 JSON 沒有包含 Flex Template 的設定
- 只有官方帳號可以發送、回覆 Flex Message,一般使用者無法在 App 端發送
而且時間一久,開發過的 Flex Message 就會因為分散各處而忘記在哪⋯⋯所以講者另外自製一個 Flex Message API,先設定現成樣板,再讓使用者填入模板裡的資訊,再轉發到其他朋友或群組。
也可以透過 API 方式,傳送帶有自訂資料的 JSON request 取得帶有 Flex Tempalte 層的 JSON:
🔗 補充連結:NiJia Lin 前輩的自製 Flex Message API 部落格文章
透過 LINE Bot 發布網站文章 | 陳佳新前輩
最後是 LINE 聊天機器人認證專家陳佳新前輩分享他設計 LINE Bot 協助《 臺灣地方創生基金會 》成員發布文章,在 LINE App 端就能寫作文章並發布到官網:
一般人可能會覺得這多此一舉,使用網站內建的編輯器不就好了?不過對於非網站寫作背景出身的協會成員來說,與其額外花時間成本學習後台操作,直接在 LINE Chatbot 以聊天形式寫作純文字文章更好上手( 這是筆者個人推測的原因 )
對於一般編輯或站長來說,另外建立 LINE Chatbot 來上稿確實是繞遠路,然而對於較不熟悉網站編輯器、只需發純文字文稿的普通人而言,能在熟悉的 LINE 介面發文能省下很多學習成本。
個人寫的大學科系查詢 LINE 機器人也是如此,筆者當時也是以高中學生、家長的習慣與需求為考量來設計程式或服務形式,核心是「 以最簡單、目標族群最好上手的方式,最有效率地去解決問題,不為炫技而提高技術門檻 」
這叫做奧坎剃刀原則,詳細說明可以參考我 2020 年的反思筆記 👈🏻
個人推測是 LINE Bot 收到新文章時,就傳送要求到網站端的 API,在網站前端新增文章。
🔗 補充連結:陳佳新前輩的個人部落格
參與心得:累積發表經驗、未來再參加!
還記得在 Chatbots Meetup 聚會分享技術簡報時,我緊張的整個人都在抖,但也因此我有了參與程式主題聚會、分享技術開發的經驗,濃縮自己的開發思路與過程,轉換成一般人也能讀懂的文字來解說,實際講話發表跟寫技術文章的感覺完全不一樣。
更重要的是,我也在這場聚會認識許多熱心的開發者前輩們,其他講者在會後交流時,分享許多建議給我,甚至在會後我也和其中幾位講者保持聯絡與交流,沒有因為我能力不足而有距離感,感受到共享共好的開發社群氛圍,未來有新研究筆者一定會再參加!
開發過 Chatbot?你也可以報名講者!
若看完文章的你也想分享自己開發 Chatbot 的經驗或想法,或單純想旁聽聚會,你可以關注 Chatbot Developers Taiwan 社團的動態,透過 KKtix 報名或是和主辦者報名講者。
在 2022 年 4 / 12 ( 二 )就有會一場,雖然講者已滿,但也推薦你報名旁聽,可以學到新技術、得到新 idea!
延伸閱讀
以下補充一些有關本文和相關社群的連結:
- 中部人的 Chatbot Meetup 線上聚會 2022 年 2 月場次臉書直播錄影
- Chatbot Developers Taiwan 臉書社團
- 四月 Chatbot Meetup 開發者線上聚會報名連結
嗨囉我是 Shawn,首先感謝你看完全部內容!我是位大一學生,也是一間新創的前端實習生,希望跟大家分享如何運用科技提高生產力,並在網站紀錄著自己樸實無華的平凡人生。 如果對於文中內容有任何問題,或是商業合作洽詢,可在下方管道與我聯繫: e-mail: contact@jcshawn.com Telegram: jschang666