Site icon KerKer 的模組世界

[Python] Line名片機器人(Gemini、Notion)

&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">邊做邊學,順便留個紀錄。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">一切的起源,都是因為我偶然看到 Evanlin 大大的文章(<a href&equals;"https&colon;&sol;&sol;www&period;evanlin&period;com&sol;til-gogle-gemini-pro-vision&sol;">來源連結<&sol;a>)。這篇文章介紹了如何使用 Golang 開發一個結合 Gemini Pro Vision 的名片管理聊天機器人。我想在原有的基礎上增加刪除和修改名片資料的功能,由於我對 Golang 並不熟悉,因此我決定以 Python 重寫這個專案,也算是一種開發練習。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph"><strong>目錄:<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;<div class&equals;"wp-block-aioseo-table-of-contents"><ul><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo-">一、 取得程式碼<&sol;a><&sol;li><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo-geminilinenotion">二、 Gemini、Line、Notion 環境準備<&sol;a><&sol;li><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo">三、 執行程式<&sol;a><&sol;li><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo-ngrok-line-webhook">四、 Ngrok 與 LINE Webhook 設定<&sol;a><&sol;li><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo-test">五、功能實測<&sol;a><&sol;li><li><a class&equals;"aioseo-toc-item" href&equals;"&num;aioseo-feature">未來展望<&sol;a><&sol;li><&sol;ul><&sol;div>&NewLine;&NewLine;&NewLine;<&excl;--more-->&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading has-large-font-size" id&equals;"aioseo-">一、 取得程式碼<&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph"><strong>從 GitHub 取得程式碼<&sol;strong><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">在選定的資料夾開啟命令提示字元&lpar;cmd&rpar;,並執行以下指令從 GitHub Clone專案:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code has-medium-font-size"><code><code>git clone https&colon;&sol;&sol;github&period;com&sol;KerKerJoking&sol;BusinessCard&lowbar;LineBot&lowbar;Gemini&lowbar;Notion<&sol;code><&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large is-resized"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczMhvBcE&lowbar;tfc642MyooyTESg-&lowbar;nKvZQfI8uu44p5-&lowbar;msfnopju2YA9M--&lowbar;TXRzjkHnqL5e0DG8zwpB1AWhgyClWwD45k28AspHlItteFxj4EaT5wfr4&lowbar;ny7ekQ7PE6xjyPPjN9&lowbar;NY6WyFN1DoprTGQye&equals;w676-h559-s-no-gm&quest;authuser&equals;0" alt&equals;"" style&equals;"width&colon;840px&semi;height&colon;auto"&sol;><figcaption class&equals;"wp-element-caption">開啟cmd<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczPJOkQbXcl6Ecdri8WRDImPdurx74JqhQ0W3xxia3l4KTGlBvgtbDgxyCW4LP-UY48zDDpXgkZyETNTxU5r6njEQOZGrSnH3j1vHQ7Llho-0&lowbar;6ByzS6YCdu8CIjm97tiDVmn2MBxsoE&lowbar;yNGfqbd7GBg&equals;w1094-h533-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">從 github clone 專案<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading has-large-font-size" id&equals;"aioseo-geminilinenotion"><strong>二、 Gemini、Line、Notion 環境準備<&sol;strong><&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>取得 Google API Key<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">前往 <a href&equals;"https&colon;&sol;&sol;aistudio&period;google&period;com&sol;app&sol;apikey" title&equals;""><strong><mark style&equals;"background-color&colon;rgba&lpar;0&comma; 0&comma; 0&comma; 0&rpar;" class&equals;"has-inline-color has-vivid-cyan-blue-color">Google AI Studio<&sol;mark><&sol;strong><&sol;a>,創建 API Key,這會用於將名片照面提交給 Google Gemini 模型進行識別並回傳 Json 格式資料。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczPJ4NVuZdQSYTRRHH8ZY35w4uAn-QyFf4vSIJc50aE&lowbar;&lowbar;aifGVP9IdW&lowbar;bNSIqGaVzChDsu7KF9DwBWYPdQamMT-E&lowbar;hV07sPLuZUoefi3U5XcO&lowbar;m&lowbar;I51H&lowbar;oByN-zzPcrJIKR00m5aGs&lowbar;qiYsOOWnE8teN&equals;w1973-h827-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">Google API<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>取得 LINE Access Token &sol; Channel Secret<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">登入 <a href&equals;"https&colon;&sol;&sol;developers&period;line&period;biz&sol;console&sol;" title&equals;""><strong><mark style&equals;"background-color&colon;rgba&lpar;0&comma; 0&comma; 0&comma; 0&rpar;" class&equals;"has-inline-color has-vivid-cyan-blue-color">LINE Developers<&sol;mark><&sol;strong><&sol;a>,如果還沒有建立Bot就先建立一個,Access Token 可以在 Messaging API 頁面找到,Channel Secret 可以在 Basic settings 頁面找到。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczOirAgExqb9vp0rZ1X9io1aCk2dOsb42--6HPSFsStJ3xKTX8N7-PnGkghmrHGRklU&lowbar;7DvP3-ubKcVnKh9fTYk1hd222eeDITTi3HsaG6F5R2y0Ubw7nfwu&lowbar;-B&lowbar;Hs7j8KkPrEQtay&lowbar;gqrvEw1FhZ8cz&equals;w1916-h1520-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">Line Access Token<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczOpnRH9m7IQqQUyCYk-OENU0lCfbbdJlpqE5Oq-Y8X3bV7OpGDWV2LJWUWlTkeT0SR7gsYlYL8F61pb6IT44Nr0Rq9v-&lowbar;dojoKQxBodWWXxiwiknw2gy3Y8Nsy-p6M20vEob0iKO5fDrhcv7vINjvr0&equals;w1384-h1578-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">Line Channel Secret<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>取得 Notion Integration Secret<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">登入 Notion,進入 <a href&equals;"https&colon;&sol;&sol;www&period;notion&period;so&sol;profile&sol;integrations" title&equals;""><strong><mark style&equals;"background-color&colon;rgba&lpar;0&comma; 0&comma; 0&comma; 0&rpar;" class&equals;"has-inline-color has-vivid-cyan-blue-color">Integrations<&sol;mark><&sol;strong><&sol;a>,創建新的 Integration 並取得 Integration Secret。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczMFxQ&lowbar;mMjT21BUFnlOfi33uFQ6Zny9ORi0yqqbT9m5HTNtWn6Ndql3gs5HTYs14mXBH1bP6aTI9rdjGBahl2LT8zUd2qDvoLzRatAVPRTiPCdGKYcShJuQQY-Ki7R-OAyEYwDcDU8XyrYooNUe90jD6&equals;w2031-h1103-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">Notion API<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>建立 Notion DB<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">在你的Notion頁面建立一個新的Data Base用來儲存名片資訊,Data Base ID會是DB頁面網址中 &&num;8220&semi;&sol;&&num;8221&semi; 之後 &&num;8220&semi;&quest;v&equals;&&num;8221&semi; 之前的中間這段文字。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">Data Base 的 Tittle 欄位名稱改為 &&num;8220&semi;UUID&&num;8221&semi; ,另外分別建立欄位: &&num;8220&semi;Name&&num;8221&semi;、&&num;8221&semi;Phone&&num;8221&semi;、&&num;8221&semi;Email&&num;8221&semi;、&&num;8221&semi;Address&&num;8221&semi;、&&num;8221&semi;Tittle&&num;8221&semi;、&&num;8221&semi;Company&&num;8221&semi;,欄位格式一律使用 Text。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">另外需要將剛剛建立的 Integration 連結到這個Data Base,這樣我們才能透過 API 存取這裡面的資料。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczNc59NqU5-bORZN9Qq2tb3Z665uKrEmK9bCO9al0uE1d2JFXgFOW9Wcij1VjmMkiSN&lowbar;0S9boNAyhvGagfm&lowbar;zElt-J2bXYl3c6abHoZaj4jkcUy--&lowbar;uQgfN9XpxCYbZ&lowbar;bRN9&lowbar;IlevXZ&lowbar;UGEGnwZ-ZwtW&equals;w3060-h1421-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">Notion DB<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading" id&equals;"aioseo">三、 執行程式<&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list has-medium-font-size">&NewLine;<li><strong>執行 setup&period;bat <&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">進入Clone下來的專案目錄,並執行 setup&period;bat,首次執行會自動建立一個venv環境,並安裝所有使用到的套件。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>依序填入資訊<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">首次執行時程式會要求填入你所使用的API資訊,此時將稍早取得的所有 API 資訊依序填入即可,完成後會顯示 &&num;8220&semi;Running on http&colon;&sol;&sol;127&period;0&period;0&period;1&colon;5000&&num;8243&semi;,表示執行成功了。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczO8gKjyzak0wOYFy3simb7AhTgrww9EgClGQ46coS0qjSOUfNGGHnRKj-&lowbar;ZfYzAddOIqZm-tgXVj6QAjRgPmr6MN-4P7x3dZG&lowbar;LQXtNz-1r5yEVCxlgMzfpxizGTdOCWFbPLIhmj-nv9mknL&lowbar;Ysp-uu&equals;w1766-h1134-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">首次執行setup&period;bat<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading" id&equals;"aioseo-ngrok-line-webhook">四、 Ngrok 與 LINE Webhook 設定<&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">這段主要是要讓我們執行的程式有一個對外服務的網址,若可以其實修改程式碼自行對外host是更好的做法,但測試上就可以用ngrok這種做法。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>下載並設定 Ngrok<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">前往<strong> <a href&equals;"https&colon;&sol;&sol;dashboard&period;ngrok&period;com&sol;get-started&sol;setup&sol;windows" title&equals;"">Ngrok 官方網站<&sol;a><&sol;strong>,下載適用於 Windows 的 Ngrok 執行檔,並將兩行指令複製下來。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczNl9dFRwBikLSGXDcz9-TxNT4IPnN4DLwuPpoCzm9z74yJpSh9ETE9TPKUf&lowbar;PDm6n7kqLe&lowbar;VQZ4yBFcirojVi9LcLGEQ1TcCZi5ZuO6YYQTFPTyuB-EOJUlQe17iTKr9xbdBDMMfdxT2oIsGssKAy1G&equals;w1646-h1445-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">下載 ngrok<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>執行Ngrok<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">從ngrok 所在資料夾開啟命令提示字元&lpar;cmd&rpar;,並執行剛剛從 ngrok 網站複製下來的兩條指令,不過第二條指令的 port 號 8000 要修改為 5000。執行成功後會出現一個 Forwarding 的網址,這個要複製起來貼給我們的 Linebot。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczOFdSk7UkjVbQzHz35UFuIz&lowbar;Ll&lowbar;-eMhcCH1JBizw9HKor3sEunxPS-VbnHRQH8CyrbOGHsMg&lowbar;7VaOo-6U1tL-3ISfHqPlPUzsOBZ6u4IYQYMSEf1an&lowbar;2KFtO5yT9mDYxioIfS0C73acvYfDEL&lowbar;AkcP8&equals;w1083-h251-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">執行cmd<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczPSMT6r&lowbar;R77QlYUdbSnf&lowbar;Hb-5AG&lowbar;zzO5JB5DwNLgAouQ5mud0Clq5iD15d9UI7iFAFAYRcet8l7l83K4IgFNaOIO0x7rLhR8OwrUO8eSlPeyy03NHQByZ0PSTjPj8Qgcv2DWCzqOtK3mzSA-pnQl5mW&equals;w1509-h393-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">配置 authtoken 及執行 ngrok<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczMuBNZRLiHY8Z5hRRA&lowbar;D7XPw9J&lowbar;H1YyByJl9wh3YpBeAlc9okUpoua4EOBINT6OSeOJci-aeG-gob8LrXuIvOvXkeJx0PI7pZoIRiMeVhngChC6Wy9JhLqoMVFnBoq4G0nP6Y9UJkrJ5mtaFjmG11rU&equals;w1452-h447-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">ngrok 執行成功<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>設定 Linebot Webhook<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">Webhook 就是當我們的 Linebot 收到訊息時要通知誰,一樣是在 <a href&equals;"https&colon;&sol;&sol;developers&period;line&period;biz&sol;console&sol;" title&equals;""><strong><mark style&equals;"background-color&colon;rgba&lpar;0&comma; 0&comma; 0&comma; 0&rpar;" class&equals;"has-inline-color has-vivid-cyan-blue-color">LINE Developers<&sol;mark><&sol;strong><&sol;a> 的 Messaging API 頁面設定,Webhook URL 填入 ngrok 的 Forwarding 網址,設定完成後可以點選 Verify 進行測試。若設定無誤的話應顯示 Success 提示視窗, ngrok 執行視窗也會顯示 200 OK。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">要注意的是這個網址每次重啟 ngrok 時都是會變動的,所以要長期服務還是要想辦法用自己的 domain host。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczPxPNNaF9ALvpO89Dd94qvTKz2GoArIJe68bgkQquylmPl21f8rB0uDpx4SXNX18bVnBRlhjEsw4YeTXIubu80Lgxfdk&lowbar;lac-IphNCkA5ksmArArhAEpBqbOM65huNmI1Tqh7Q789Wp44Rl0V3t8fZG&equals;w1655-h1281-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">設定 Linebot Webhook<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczOKj7aaIr&lowbar;qAP60J7TgT2Ur1r1ANv&lowbar;lp54M4vBRfbgAL1zrwUYaVKYktyrKJLchjYYSZRl6jJ9FtxNHMI6ODHI6dRJ158UfsTkvXUexVCIkWpGskjlPjg5R0AXwbFtHQUqbNCvWuyPZgTjahFCDVkUR&equals;w1793-h1170-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">測試 設定 Linebot Webhook<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading" id&equals;"aioseo-test">五、功能實測<&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list has-medium-font-size">&NewLine;<li><strong>新增名片紀錄<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">透過 Linebot 對話視窗傳送名片照片,程式會將名片的資訊提取出來回復在對話視窗,並同時將資料儲存到 Notion Data Base。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczOoZ1Z3jJHXoNhy&lowbar;QCYoxXHarWNDdhXcnOZoDc-&lowbar;fhKdqcEKAEkNJCbbuzgkB9hoACDMwvRWrWI&lowbar;Ljg-HEDJLajrOPWYhA5KUoBe9zS1wN0jL2PH5sgGTvKioTImUnYfmZn7F&lowbar;Ra0Q1tNu3llP3HtFI&equals;w876-h1283-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">新增名片紀錄<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>查詢名片資料<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">直接輸入名片擁有者的名字、公司名稱、職稱等訊息片段,Linebot 會從Notion Data Base 查詢相關的名片資料,並直接回覆在對話視窗。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczO67ESJhKWf8jko9q8gVh4IuY-u4ew0hqR9uNfUz26SDaOgBFVTpWlp0Y2m8GR3WpULCN-Fd2S6zs6ozJg5jJOKK3Iq4Yw4nBama-iwhIZ9WmTCmYir0YlA5Js0J532AqSCF9sCDpsnq64ykQWEqvc0&equals;w870-h567-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">查詢名片資料<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>編輯名片資料<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">若需編輯某一筆名片資料,可以使用 <code>&sol;edit<&sol;code> 指令,格式為:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code has-medium-font-size"><code><code>&sol;edit &lt&semi;UUID&gt&semi; &lt&semi;欄位名稱&gt&semi; &lt&semi;新值&gt&semi;<&sol;code><&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">編輯成功後,Linebot 會回應該欄位已成功更新的訊息,並重新查詢該名片的資料以確認更新是否正確。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczMH2TgvBUn-sSOrFO2RPJWyBcUH0iWNrMDDhg-pBa1n0uCyeVEx9jqSgZRwcmYOz&lowbar;vm-un3JAK-i&lowbar;psQP4h3M5jFqByTnEKOpsh7Vb7l68v0GIJh9NPBdNydcifVAKR0OxDGqFNmdJXwOmvCUFbO5LH&equals;w875-h933-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><figcaption class&equals;"wp-element-caption">編輯名片資料<&sol;figcaption><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<ul class&equals;"wp-block-list">&NewLine;<li class&equals;"has-medium-font-size"><strong>刪除名片資料<&sol;strong><&sol;li>&NewLine;<&sol;ul>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">使用 <code>&sol;del<&sol;code> 指令來刪除特定的名片資料,指令格式為:<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<pre class&equals;"wp-block-code has-medium-font-size"><code><code>&sol;del &lt&semi;UUID&gt&semi;<&sol;code><&sol;code><&sol;pre>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">刪除成功後,Linebot 會回應已成功刪除該 UUID 的訊息。<&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<figure class&equals;"wp-block-image size-large"><img src&equals;"https&colon;&sol;&sol;lh3&period;googleusercontent&period;com&sol;pw&sol;AP1GczNmkVSFnPE0ZTNYNMQlu9zyCXPScJBr&lowbar;DeQ2Cp25S-CbNS3JJ8XQbEksWzzHG5tyGHBA2ywdoJuzuqOmJXI2lpdHtrKBbQZWp9DQmkTXkz1fzpcPAqmoOF1AN7dvEHxP3MGBZoSRuk4OHJwrathCUnL&equals;w873-h454-s-no-gm&quest;authuser&equals;0" alt&equals;""&sol;><&sol;figure>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"wp-block-paragraph"><&sol;p>&NewLine;&NewLine;&NewLine;&NewLine;<h1 class&equals;"wp-block-heading" id&equals;"aioseo-feature">未來展望<&sol;h1>&NewLine;&NewLine;&NewLine;&NewLine;<p class&equals;"has-medium-font-size wp-block-paragraph">在完成這個專案後,我有機會讓好朋友 Eric 大大看過我的成果。他提到如果能讓使用者快速、簡單、免費地將這段代碼部署到 AWS Lambda 環境中,應該會是一個非常不錯的提升。參考 Eric 大大在 lambda 部署Linebot 的文章(<a href&equals;"https&colon;&sol;&sol;eric-tu&period;notion&period;site&sol;How-to-Building-a-LINE-Chatbot-with-ChatGPT-API-on-AWS-Lambda-5d19603332e143c3a41d963f7d4a4c5a" title&equals;""><strong>來源連結<&sol;strong><&sol;a>)後,感覺這確實是一個很有吸引力的想法。接下來可能可以實做一個可以部署到 lambda 的版本。<&sol;p>&NewLine;

Exit mobile version