文件
自動化

Telegram 機器人

Markdown

機器人 · OpenAI Chat

完整指南
格式設定位置
OpenAI ChatTelegram 框架沒有自己的 LLM 層;請在訊息處理函式中呼叫使用 Ailoot base_url 的 OpenAI SDK,或使用 base_url 不含 /v1 的 Anthropic SDK

設定

複製設定,並將sk-...替換為您的 Ailoot 控制台金鑰。若應用程式支援,最好將金鑰存放在環境變數AILOOT_API_KEY中。

執行前,請使用 Ailoot 金鑰呼叫 GET /v1/models。選擇支援方法包含 POST /v1/chat/completions 的確切模型 ID,並填入設定。使用代理程式時,也請確認工具支援及客戶端版本所需的功能。

將 Python 程式碼儲存為 ailoot-telegram-bot.py。安裝相依套件、設定兩個環境變數,再執行檔案。傳送 Hello 給機器人,確認文字回覆。發生錯誤時,保留 Request ID,並在再次傳送生成請求前確認原始結果。

python3 -m pip install "aiogram>=3,<4" openai

ailoot-telegram-bot.py

import asyncio
import os
from aiogram import Bot, Dispatcher, F
from aiogram.types import Message
from openai import AsyncOpenAI, APIError

async def main():
    dp = Dispatcher()
    async with AsyncOpenAI(
        base_url="https://api.ailoot.ai/v1",
        api_key=os.environ["AILOOT_API_KEY"],
        max_retries=0,
    ) as llm:
        @dp.message(F.text)
        async def reply(message: Message):
            try:
                result = await llm.chat.completions.create(
                    model="claude-sonnet-5-5",
                    messages=[{"role": "user", "content": message.text}],
                )
                content = result.choices[0].message.content or "—"
                for start in range(0, len(content), 4000):
                    await message.answer(content[start:start + 4000])
            except APIError as error:
                await message.answer(
                    f"{type(error).__name__}; Request ID: "
                    f"{getattr(error, 'request_id', None) or '—'}"
                )
        bot = Bot(token=os.environ["TELEGRAM_BOT_TOKEN"])
        await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())
export AILOOT_API_KEY="sk-..."
export TELEGRAM_BOT_TOKEN="<TELEGRAM_BOT_TOKEN>"
python3 ailoot-telegram-bot.py

模型範例:claude-sonnet-5-5, deepseek-v4-pro, qwen3.8-flash。若要使用其他模型,請從此處選取:目錄 —請確認模型支援所需格式。

重要須知

驗證

  • OpenAI 格式的位址為https://api.ailoot.ai/v1 (若應用程式要求完整位址,則使用完整路徑)。
  • 提出一個簡短問題。若收到錯誤,請查看代碼與Request ID,並對照此頁面:錯誤與限制。
  • 剛完成設定就遇到 404,幾乎總是位址不正確,可能多加或漏加了/v1。
  • 402 表示餘額不足以涵蓋保留金額。代理需要保留的金額比聊天更多:原因。

應用程式說明文件:https://github.com/openai/openai-python

還有疑問嗎?請提供 Request ID與問題描述,我們會協助釐清。聯絡支援