之前就有看到社群媒體上,有滿多人利用AI串接訊息軟體,每日推送重要信件、每日行程、心靈小語等等的小功能,我自己也滿好奇整個的過程做起來會是怎樣,於是就從最簡單的每日運勢做起。
看了一下發現 LINE 的步驟較多,而 Telegram 完全免費、設定也簡單很多,以下會寫下我的完整過程以及遇到的問題。
Step 1:建立 Telegram 機器人
- 下載並打開 Telegram(網頁版本也可以),搜尋官方帳號 @BotFather,點進去按 Start
- 它會跳一串指令建議,我們要輸入指令
/newbot - 它會問你機器人的名字要叫什麼?像我的就是「每日運勢」
- 接下來再取一個機器人的英文帳號,結尾必須是 bot,例如
mydaily_bot - 完成後它會給你一串 Token(數字+英數混合),先複製存起來
- 去搜尋並打開你剛建立的機器人,按「Start」跟它說一句話(隨便打)——這一步是為了讓你有「聊天紀錄」,等下才抓得到你的 Chat ID
- 瀏覽器打開,輸入這個網址:
https://api.telegram.org/bot<TOKEN>/getUpdates
要把<TOKEN>換成你剛剛複製的那串 - 會跑出來一小串資料,在裡面找
"chat":{"id":數字...},那串數字就是你的 Chat ID,請記下來!
如果顯示
{"ok":false,"error_code":401,"description":"Unauthorized"}代表 Token 有錯誤,可能少了字元、多了空白或前面的bot字樣重複
getUpdates 時,結果是空的 {"ok":true,"result":[]},明明我已經按過 Start 了。後來才發現,按 Start 按鈕有時不會被記錄成一般訊息,一定要手動打字傳一句話(例如「hi」)給機器人,然後馬上重新整理網址查詢,才抓得到資料。Step 2:註冊 Make.com
Make.com(前身為 Integromat)是一款可視化的 No-Code 自動化與整合平台。使用者可以透過直覺的拖拉、將不同的程式和 API 串接在一起,實現自動執行各種重複性與繁瑣的工作流程,而且完全不需要寫程式。
- 到 make.com 註冊免費帳號
- 個人首頁上方會有一個紫色按鈕「Create scenario」,我們在這裡開始建立新的工作流程
什麼是 Scenario(情境)?
在 Make.com 中,一個 Scenario 通常由以下三個核心元素組成:
- Trigger(觸發條件):流程的起點。例如「當收到一封新 Gmail 郵件時」。
- Modules(執行模組):流程中的各個應用程式節點。例如 Notion、Slack 或 Google Sheets。
- Actions(執行動作):後續要自動做的事。例如「自動把郵件內容存到 LINE 通知或表格中」。
當創建新的工作流程時,系統就會打開一張乾淨的視覺化畫布,讓用戶可以像拼積木一樣,把不同的軟體串接起來。
Step 3:串接三個模組
模組 1 —— OpenAI 模組
一進畫布會看到中心有個
+號,點下去開始建置會有一個大框框讓你尋找各種應用,請輸入「OpenAI」
點選「Generate a Completion」,目的是讓 AI 自動產出文章或文案,屬於傳統的單向生成。
第一次使用會跳出「Add」新增連線的畫面,這裡需要貼上OpenAI的 API Key,存檔
- 如果還沒有取得 API Key:去 platform.openai.com 登入你的 OpenAI 帳號 → 左側選單列選擇 API keys → 右上角「Create new secret key」 → 複製那串以
sk-開頭的字串
- 如果還沒有取得 API Key:去 platform.openai.com 登入你的 OpenAI 帳號 → 左側選單列選擇 API keys → 右上角「Create new secret key」 → 複製那串以
點開 OpenAI 的圈圈會看到一推設定,以下逐個簡單介紹:
- Connection:會顯示在 OpenAI 的 API Key 名稱。
- Select Method:選擇方法,請選擇「Create a Chat Completion (GPT and o1 models)」,這個模型方法可以透過設定 AI 角色、看懂對話上下文來完成任務。
- Model:也就是我們很常聽到的語言模型,在這裡我選擇的是「gpt-4o-mini (system)」,是目前 OpenAI CP 值最高、速度最快的主流模型。
- Messages:與 AI 對話的劇本,所有的規則都在底下列出。
- Role:指定是誰在說話,我選擇的是「User」,用來告訴 AI 你現在要幫我處理什麼事情。
- Text Content:內容設定,也就是等等會更詳細提到的 prompt。
以下是我的 prompt 內容,可以自由改變自己想要的內容。*我是先用全形方便閱讀,若要複製請記得自行轉換成半形的 * 字號。
請扮演一位溫暖、專業的占卜師,用口語化、自然的語氣,根據以下資料生成一則融合八字與星象的今日運勢:
(注意請以繁體、標點符號全形的方式輸出)
出生日期:
出生時間:
出生地:
星座:
判別方式:請同時參考西洋占星與生辰八字,融合解讀。
請務必用以下固定格式輸出,段落標題請用單星號包住呈現粗體(例如*今日總運:★★★☆☆*),不要使用井字號(#)的標題語法,因為 Telegram 不支援。
*今日大背景*
簡短描述今天的整體氛圍(2-3句,不用太學術)*今日總運:{星數} *
一句重點提示(用引言方式呈現),簡短說明2-3句*工作/學習運:{星數} *
簡短說明2-3句,可條列2-3個具體建議*財運:{星數} *
簡短說明2-3句*感情/人際運:{星數} *
簡短說明2-3句*身心狀態:{星數} *
簡短說明2-3句,可給一點具體的小建議(例如飲食、運動、作息)*今日一句話*
一句簡短有記憶點的總結金句星等規則:
- {星數} 請替換成實心星(★)加空心星(☆),總數固定5個。例如1顆是★☆☆☆☆,4顆是★★★★☆。
- 請依當天內容為每個項目獨立評分,不要照抄任何範例。
- 五個項目的星數不要全部相同,至少要出現三種不同的星數。
風格要求:
- 語氣自然親切,像朋友在跟你聊天,不要過度學術或制式
- 每次生成請從不同角度切入(例如今天可以側重工作、明天可以側重人際),避免每天內容模式雷同
- 總長度控制在400-500字之間
今天的日期是 {{formatDate(now; " ““YYYY年MM月DD日””")}},請務必以這個日期為準,不要自己編造日期。
【重要】請全程使用繁體中文(台灣用語習慣),絕對不可使用簡體字。
{{formatDate(now; "YYYY年MM月DD日")}} 這段公式,不能用複製貼上的,要用鍵盤手打,另外now用複製貼上也會被當成一般文字,導致公式無法運作。
正確做法是:文字用手打,但 now 一定要用滑鼠從左側變數面板點選插入,插入後會變成一個藍色方塊,跟旁邊黑色文字明顯不同。🌿 額外補充:OpenAI 儲值
以我「一天一則、400-500字」的用量估算,gpt-4o-mini 的費率是每百萬 token 輸入 $0.15、輸出 $0.6 美金,換算下來每天成本大概只要 $0.001~0.002 美金,$5 額度可以用超過 10 年,完全不用擔心燒錢。
前往platform.openai.com/settings/organization/billing/overview 綁定信用卡、儲值 $5 美金即可解決。
如果不想被意外扣款,建議可以把「Auto recharge(自動加值)」關掉。
模組 2 —— Telegram 模組
- 在剛剛的 OpenAI 模組右邊,點擊「+」圖示
- 搜尋框輸入 Telegram,選擇 Telegram Bot
- 選擇模組**「Send a Text Message or a Reply」**
- 第一次使用會跳出建立連線的畫面,並要求輸入 Bot Token
貼上之前從 BotFather 拿到的那串 Token(
123456789:AAExxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) - 按 Save,連線成功後畫面會顯示你機器人的名字「每日運勢」
- 接著設定發送對象與內容,會看到這些欄位:
- Chat ID:填入你之前用
getUpdates查到的那串數字 - Text:這裡不要手打文字,而是要點選欄位後,從左側變數清單選擇 OpenAI 模組的輸出內容
- Parse Mode:選擇「Markdown」,這樣 prompt 裡設定的
*粗體*星號才會真的被 Telegram 解析成粗體文字,不然畫面上會直接顯示出星號符號,會很醜~
- Chat ID:填入你之前用
Step 4:設定排程並啟用
- 兩個模組都串好之後,在畫布左下的Run once右手邊有時間的設定,點進去設定
- Run scenario 可以選擇排程時間,我的話是每天
Daily - Time 設定你想收到推播的時間,例如早上 7:00 或 11:00
- 存檔後,畫面通常會跳出「Your scenario is scheduled but not active yet」的提示,記得把時間排成的開關打開、並存檔
之後每天到設定的時間,Make 就會自動幫你生成一則運勢並推送到 Telegram,完全不用再手動做任何事。
小結
整個流程做下來,其實主要不是得到一個機器人,而是理解這算是最基礎、也最泛用的自動化架構。
像是類似的每日新聞摘要、讀書筆記整理、甚至客服自動回覆,其實都是在同一套骨架上疊加不同模組而已。



留言