如何構建一個AI Telegram機器人來管理你的羣組(公告、置頂、管理)
本指南詳細介紹瞭如何使用Quickchat AI Agent和Telegram Bot API構建一個能夠管理羣組的AI機器人。機器人可以回答查詢、發佈公告、置頂消息、禁言或封禁成員,並通過服務器端權限檢查確保只有管理員能執行破壞性操作。
本教程將引導你如何使用Quickchat AI Agent和Telegram Bot API構建一個功能完備的羣組管理機器人。該機器人不僅能夠回答成員問題,還能執行公告發布、消息置頂、成員禁言或封禁等操作,所有指令均通過自然語言下達。例如,管理員只需輸入“封禁我回復的那個人”,機器人便會自動執行。
整個實現依賴於AI Actions(自定義HTTP請求),每個Action對應一個Telegram Bot API方法。由於Telegram沒有提供一鍵集成,你需要手動添加這些Action,類似於之前為Discord服務器配置AI Actions的方式。最終,你將獲得一套完整的社區管理工具,所有破壞性操作均由服務器端權限門控,而非單純的提示規則。
開始前,你需要準備三樣東西:一個Quickchat AI Agent(可免費註冊)、一個通過@BotFather創建的Telegram機器人、以及一個將機器人設為管理員的Telegram羣組。
什麼是Telegram AI Actions
AI Action的本質是一個經過描述的HTTP請求,而Telegram Bot API調用正是這樣一種請求。模型決定何時調用並填充判斷值,Quickchat AI則注入標識符和機器人令牌併發送請求。這種分工確保了動作的可靠性:模型永遠不會接觸令牌或ID,從而避免定位到錯誤的聊天或用户。
每個Bot API調用具有相同的模式:使用https://api.telegram.org/bot<token>/method,參數通過URL查詢或JSON請求體傳遞。查詢成員數為GET請求,發佈、置頂、禁言和封禁為POST請求。機器人令牌以系統令牌的形式存放在Action URL中,模型無法讀取其值。
聊天上下文以元數據的形式自動注入。每當有人向機器人發送消息時,Quickchat AI會記錄該Telegram消息的詳細信息作為對話元數據,例如聊天ID、用户ID、消息ID、回覆目標用户ID等。這些元數據可在Action中通過佔位符{{metadata_*}}引用,從而準確鎖定目標。
管理員動作的安全門控
四個修改羣組的動作(公告、置頂、禁言、封禁)必須僅限管理員使用。雖然可以在提示詞中設定規則,但這並非安全邊界——模型可能被巧妙的用户説服或注入攻擊。真正的保障在於確定性門控:Quickchat AI通過調用getChatAdministrators API,在每條入站消息中記錄發送者是否為管理員,並設置元數據標誌telegram_sender_is_admin。然後為每個破壞性動作添加運行條件:僅當telegram_sender_is_admin為true時執行。該條件在Quickchat AI端評估,在模型決定調用之後、請求發送之前。非管理員即使聲稱自己是管理員也無法繞過。
提示詞規則的作用是改善用户體驗,讓機器人禮貌地拒絕並解釋原因;而運行條件是真正的邊界。
詳細步驟
步驟1:創建AI Agent並賦予知識
登錄Quickchat AI後,在左側欄打開Identity(身份)頁面。為Agent命名,並在AI Main Prompt(主提示)中簡要描述其角色和所管理的社區。稍後需要在步驟4中添加管理員動作相關的提示塊。
步驟2:連接Telegram並賦予機器人管理權限
在Telegram中通過@BotFather創建機器人並獲取令牌。在Quickchat AI中,打開Channels(頻道)下的External Apps(外部應用),選擇Telegram,粘貼令牌並啓用。將機器人添加至羣組並提升為管理員,授予所需權限:更改羣組信息、刪除消息、封禁用户、置頂消息。在@BotFather中設置/setprivacy為Disable,以便機器人能讀取羣組所有消息。
步驟3:構建第一個動作
從最簡單的getChatMemberCount開始。在Actions & MCPs頁面中創建新動作,命名為tg_get_member_count,設置方法為GET,URL為https://api.telegram.org/bot{{telegram_bot_token}}/getChatMemberCount?chat_id={{metadata_telegram_chat_id}}。為動作添加清晰的描述,以便模型理解何時調用並傳遞參數。
(由於原文較長,後續步驟在此省略,但需保留核心內容。)
最終,你會得到一個功能完整的羣組管理機器人,所有動作都經過測試,並且管理員權限得到了牢固的保障。