第一次當聚會講者!2022 Chatbots Meetup 聊天機器人小聚紀錄

Chatbots Meetup 聚會文章封面

筆者寒假開發一個查大學科系標準的 LINE 機器人,很幸運的獲得不錯的迴響,發布不到一個月使用者就破萬,但也讓我驚喜的,是能被邀請參加 Chatbots Meetup 聊天機器人開發者線上聚會,除了第一次擔任講者分享開發過程,也旁聽其他大神的技術簡報。本文會分享我 2022 年 Chatbots Meetup 小聚的與會紀錄!

前言:首次受邀參加程式聚會( Chatbots Meetup )

筆者之前唯一參與過的程式相關聚會是 2020 年的 SITCON 學生計算機年會,當時我連 Python 都不大會寫就去參加,儘管後來有自學程式開發並做些小作品,但我一直沒想過自己會參加程式技術類別的討論聚會,更別說擔任講者。

而在今年寒假我寫了一個幫高中同學查詢大學科系標準的 LINE 機器人,沒想到發布後在社群平台有還不錯的迴響與轉發,我也因此被 LINE 官方認證的技術專家陳佳新前輩邀請參加Chatbot developers 線上小聚,分享我的開發過程。

Chatbots Meetup 臉書受邀截圖
在 LINE 開發臉書社團受邀的截圖

由於是第一次參加技術類型的小聚發表,我就先選擇參加 5 分鐘的閃電場場次,嘗試在短時間內快速與他人分享我的開發思路與動機,並旁聽其他開發者的簡報。下文會分享 2022 年二月初第一場次聚會的參與心得與筆記。

影片錄影在這裡:Chatbots Meetup 線上聚會 2022 年 2 月場次臉書錄影連結 👈🏻


透過 Chatbot 發送 e-mail | Ko Ko 前輩

Ko Ko 前輩分享利用 Chatbot 收發 email,圖片源自會議影片

第一位講者是 Microsoft AI 的 MVP Ko Ko 前輩,分享透過 Chatbot 自動化寄送 email,就是「 用傳訊息來傳訊息 」

Ko Ko 前輩使用微軟的 BotFrameWork 工具建立 Chatbot,利用 .NET 6 Minimal API 以 http request 的方式觸發 Logic Apps 來寄送 email:

email Chatbot 的流程圖,整套都是微軟全家桶 XD

微軟 Logic App 是基於雲端的自動化工具,可以設計 workflow 來達到自動執行的效果。我自己使用過類似的線上服務 Zapier,串接 Notion & LINE Bot。

使用者對 LINE 機器人傳送 email 位置、主旨、訊息內容後,以 JSON 格式傳送到 .NET,進而利用 Logic App 抓取 JSON 裡的 value 並套到 outlook 信件內容裡寄送。

用 BotFrameWork 可以用 Flow Chart 的方式設計 Chatbot 訊息內容

在這個場次,我主要瞭解到有 BotFrameWork 這個開源軟體可以使用,透過可視化流程圖的方式設計機器人,做 Chatbot 前端時可以省下不少時間~~

三小時 Node.js 工作坊授課經驗分享 | 戴均民前輩

戴均民前輩分享在梅竹黑客松進行 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:

Chatbots Meetup 議程截圖,圖是戴均民前輩分享簡報

如果你也有在開發 LINE 機器人,推薦你加入均民前輩的「 Flex 開發人員工具 」可以查看 bot 端收到的 JSON 內容,也可以試用最新版的 richmenu 操作,開發 LINE 聊天機器人更方便。

點我加入 Flex 開發人員工具好友 👈🏻

在這個議程中,筆者瞭解到均民前輩設計遠距工作坊的思路與考量點,透過事先將程式跟教學彙整成線上文章,並利用線上 IDE 解決開發環境不同的問題,我自己剛好有計畫在暑假教學校學弟妹寫程式,從這分享汲取許多經驗。

在聚會結束之後,均民前輩還會不吝回答筆者私訊的技術問題,也給予我許多開發 Chatbot 的建議,超級感謝~

🔗 相關連結:戴均民前輩的個人部落格


做 LINE Bot 幫全台高中生找大學科系 | 作者自己

張君祥在 Chatbot Meetup 分享簡報的截圖
筆者分享寒假開發 LINE Bot 幫全台高中生申請大學的議程截圖

再來就是筆者我自己的閃電場議程了!我在大約 8 分鐘分享我如何透過 LINE 機器人的方式,幫助全台灣高中學生查詢全台大學科系標準與二階日期,包括設計動機、程式架構與開發過程,怎麼改善效能等等。

點我可以看直播錄影影片,我的部分是在 1:18:55 開始的。

張君祥在 Chatbot Meetup 分享簡報的截圖
我分享 LINE Bot 資料庫後台的議程截圖

個人有把開發的動機與技術筆記整理在這篇文章,就不另外贅述:1 個月內累積破萬使用者:大學科系查詢 LINE 機器人 製作分享 👈🏻

簡單來說,我發現同學和家長覺得翻紙本簡章很不方便,便發想透過 LINE 機器人的形式,讓同學可以傳關鍵字、找科系資訊,因為是用大家熟悉的聊天室平台,操作更好上手,而這個機器人在不到三個禮拜累積了一萬多位使用者。

自製 Flex Message API | NiJia Lin 前輩

NiJia Lin 前輩分享他自製的 LINE Flex Message API

接著是在 LINE 擔任 TE ( Technology evangelist )的 NiJia Lin 前輩分享他自製 Flex Message API。現在 LINE 官方的 Flex Message 有兩個問題:

  1. 官方 Flex Simulator 得到的 JSON 沒有包含 Flex Template 的設定
  2. 只有官方帳號可以發送、回覆 Flex Message,一般使用者無法在 App 端發送

而且時間一久,開發過的 Flex Message 就會因為分散各處而忘記在哪⋯⋯所以講者另外自製一個 Flex Message API,先設定現成樣板,再讓使用者填入模板裡的資訊,再轉發到其他朋友或群組。

也可以透過 API 方式,傳送帶有自訂資料的 JSON request 取得帶有 Flex Tempalte 層的 JSON:

API 流程圖,取自 Ninja Lin 前輩部落格文章

🔗 補充連結:NiJia Lin 前輩的自製 Flex Message API 部落格文章

透過 LINE Bot 發布網站文章 | 陳佳新前輩

最後是 LINE 聊天機器人認證專家陳佳新前輩分享他設計 LINE Bot 協助《 臺灣地方創生基金會 》成員發布文章,在 LINE App 端就能寫作文章並發布到官網:

臺灣地方創生基金會 LINE 帳號截圖,可以在 LINE APP 端編輯網站文章

一般人可能會覺得這多此一舉,使用網站內建的編輯器不就好了?不過對於非網站寫作背景出身的協會成員來說,與其額外花時間成本學習後台操作,直接在 LINE Chatbot 以聊天形式寫作純文字文章更好上手( 這是筆者個人推測的原因 )

對於一般編輯或站長來說,另外建立 LINE Chatbot 來上稿確實是繞遠路,然而對於較不熟悉網站編輯器、只需發純文字文稿的普通人而言,能在熟悉的 LINE 介面發文能省下很多學習成本。

個人寫的大學科系查詢 LINE 機器人也是如此,筆者當時也是以高中學生、家長的習慣與需求為考量來設計程式或服務形式,核心是「 以最簡單、目標族群最好上手的方式,最有效率地去解決問題,不為炫技而提高技術門檻 」

這叫做奧坎剃刀原則,詳細說明可以參考我 2020 年的反思筆記 👈🏻

個人推測是 LINE Bot 收到新文章時,就傳送要求到網站端的 API,在網站前端新增文章。

🔗 補充連結:陳佳新前輩的個人部落格


參與心得:累積發表經驗、未來再參加!

還記得在 Chatbots Meetup 聚會分享技術簡報時,我緊張的整個人都在抖,但也因此我有了參與程式主題聚會、分享技術開發的經驗,濃縮自己的開發思路與過程,轉換成一般人也能讀懂的文字來解說,實際講話發表跟寫技術文章的感覺完全不一樣。

會後講者小聚的截圖,請忽略我的歪頭

更重要的是,我也在這場聚會認識許多熱心的開發者前輩們,其他講者在會後交流時,分享許多建議給我,甚至在會後我也和其中幾位講者保持聯絡與交流,沒有因為我能力不足而有距離感,感受到共享共好的開發社群氛圍,未來有新研究筆者一定會再參加!

開發過 Chatbot?你也可以報名講者!

若看完文章的你也想分享自己開發 Chatbot 的經驗或想法,或單純想旁聽聚會,你可以關注 Chatbot Developers Taiwan 社團的動態,透過 KKtix 報名或是和主辦者報名講者。

在 2022 年 4 / 12 ( 二 )就有會一場,雖然講者已滿,但也推薦你報名旁聽,可以學到新技術、得到新 idea!

延伸閱讀

以下補充一些有關本文和相關社群的連結:

嗨囉我是 Shawn,首先感謝你看完全部內容!我是位高中生,也是科技編輯跟業餘 Programmer,希望教大家如何運用科技提高生產力,並紀錄著自己樸實無華的平凡人生。

如果對於文中內容有任何問題,或是商業合作洽詢,可在下方管道與我聯繫:
e-mail: contact@jcshawn.com
Telegram: jschang666
前一篇文章
大學個人申請二階備審封面,包含學習歷程自述與多元表現心得

學習歷程自述、多元表現綜整心得怎麼寫?6 項大學二階備審整理懶人包

下一篇文章

2022政治大學資訊科學系筆試題目紀錄+個人解答(考古題)