Source: https://ailoot.ai/docs/ko/integrations/telegram-bot/
Canonical: https://ailoot.ai/docs/ko/integrations/telegram-bot/
Language: ko

[자동화](https://ailoot.ai/docs/ko/integrations/#automation) 

# Telegram 봇

[Markdown](https://ailoot.ai/docs/ko/integrations/telegram-bot/index.md)

봇 · OpenAI Chat

| 형식 | 설정 위치 |
| --- | --- |
| OpenAI Chat | Telegram 프레임워크에는 LLM 계층이 없으므로 메시지 처리기에서 Ailoot의 base\_url을 쓰는 OpenAI SDK 또는 /v1 없는 base\_url의 Anthropic SDK 호출 |

## [](https://ailoot.ai/docs/ko/integrations/telegram-bot/#setup)설정

설정을 복사한 뒤 예시 키 `sk-...` 대신 Ailoot 대시보드에서 받은 본인 키를 입력하세요. 키는 다음 환경 변수에 보관하는 것이 좋습니다: `AILOOT_API_KEY`, 앱이 지원하는 경우.

실행 전에 Ailoot 키로 GET /v1/models를 조회하세요. 지원 메서드에 POST /v1/chat/completions가 포함된 정확한 모델 ID를 선택해 설정에 사용하세요. 에이전트에서는 클라이언트 버전에 필요한 도구와 기능의 지원도 확인하세요.

Python 코드를 ailoot-telegram-bot.py로 저장하세요. 의존성을 설치하고 두 환경 변수를 설정한 다음 파일을 실행하세요. 봇에 Hello를 보내 텍스트 응답을 확인하세요. 오류가 발생하면 Request ID를 보관하고 새 생성을 보내기 전에 원래 결과를 확인하세요.

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

`ailoot-telegram-bot.py`

```python
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())
```

```bash
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`. 다른 모델은 다음에서 선택하세요: [카탈로그](https://ailoot.ai/models/ko/) — 필요한 형식을 지원하는지 확인하세요.

## [](https://ailoot.ai/docs/ko/integrations/telegram-bot/#notes)알아둘 점

Telegram 프레임워크 자체에는 AI 모델 계층이 없습니다. 봇 내부의 OpenAI SDK에서 Ailoot 주소를 설정합니다. 잔액이 없으면 이해하기 쉬운 402 오류와 Request ID를 반환합니다. 봇을 중단시키지 말고 사용자에게 오류를 표시하세요.

## [](https://ailoot.ai/docs/ko/integrations/telegram-bot/#check)확인

- OpenAI 형식 주소: `https://api.ailoot.ai/v1` (앱이 전체 주소를 요구하면 전체 경로 사용).
- 짧은 질문을 보내세요. 오류가 오면 코드와 Request ID를 확인하고 다음 페이지를 참고하세요: [오류와 제한](https://ailoot.ai/docs/ko/errors/).
- 설정 직후 404는 거의 항상 주소 오류입니다. 불필요하거나 누락된 경로: `/v1`.
- 402는 예약 금액을 충당할 잔액 부족입니다. 에이전트는 채팅보다 많은 금액을 예약합니다: [이유](https://ailoot.ai/docs/ko/billing/reserve/).

앱 문서: [https://github.com/openai/openai-python](https://github.com/openai/openai-python)

궁금한 점이 남았나요? Request ID와 설명을 보내 주시면 해결을 도와드리겠습니다.[지원팀에 문의](mailto:support@ailoot.ai)

## Ailoot · 회사와 그 프로젝트 포트폴리오





Ailoot는 축적된 운영 경험, 폭넓은 고객 기반, 안정적인 서비스, 지속적인 KPI 관리를 바탕으로 합니다.





회사와 그 프로젝트 포트폴리오: 수백만 고객, 매월 수십억 규모의 매출.





Ailoot는 이러한 운영 경험을 고객의 제품, 에이전트, 애플리케이션, 자동화에서 AI 기능을 이용할 수 있는 API 접근에 활용합니다.
