ИНТЕГРАЦИЯ • TELEGRAM

Telegram бот + Claude AI

Создай умного бота с искусственным интеллектом. Готовый код на Python и Node.js.

Чат-бот

Отвечает на любые вопросы пользователей

Ассистент

Помощник для бизнеса, поддержки, продаж

Генератор

Тексты, код, переводы, суммаризация

Подготовка

1. API ключ CryptoCat

Для доступа к Claude и Qwen

Получить ключ →

2. Токен Telegram бота

Создай бота у @BotFather

Открыть BotFather →

Python + aiogram

Современный асинхронный фреймворк

pip install aiogram openai
import asyncio
from aiogram import Bot, Dispatcher, types
from openai import OpenAI

# Настройки
TELEGRAM_TOKEN = "ваш-токен-бота"
client = OpenAI(
    api_key="sk-ваш-ключ",
    base_url="https://cryptocatslab.ru/api/v1"
)

bot = Bot(token=TELEGRAM_TOKEN)
dp = Dispatcher()

@dp.message()
async def handle_message(message: types.Message):
    # Отправляем "печатает..."
    await bot.send_chat_action(message.chat.id, "typing")
    
    # Запрос к Claude
    response = client.chat.completions.create(
        model="claude-sonnet-4-5",
        messages=[
            {"role": "system", "content": "Ты полезный ассистент."},
            {"role": "user", "content": message.text}
        ]
    )
    
    await message.reply(response.choices[0].message.content)

if __name__ == "__main__":
    asyncio.run(dp.start_polling(bot))

Python + python-telegram-bot

Популярная библиотека с большим комьюнити

pip install python-telegram-bot openai
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes
from openai import OpenAI

TELEGRAM_TOKEN = "ваш-токен-бота"
client = OpenAI(
    api_key="sk-ваш-ключ",
    base_url="https://cryptocatslab.ru/api/v1"
)

async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.chat.send_action("typing")
    
    response = client.chat.completions.create(
        model="claude-sonnet-4-5",
        messages=[{"role": "user", "content": update.message.text}]
    )
    
    await update.message.reply_text(response.choices[0].message.content)

app = Application.builder().token(TELEGRAM_TOKEN).build()
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
app.run_polling()

Node.js + Telegraf

Популярный фреймворк для Node.js

npm install telegraf openai
const { Telegraf } = require('telegraf');
const OpenAI = require('openai');

const bot = new Telegraf('ваш-токен-бота');
const client = new OpenAI({
  apiKey: 'sk-ваш-ключ',
  baseURL: 'https://cryptocatslab.ru/api/v1'
});

bot.on('text', async (ctx) => {
  await ctx.sendChatAction('typing');
  
  const response = await client.chat.completions.create({
    model: 'claude-sonnet-4-5',
    messages: [{ role: 'user', content: ctx.message.text }]
  });
  
  await ctx.reply(response.choices[0].message.content);
});

bot.launch();

Node.js + grammY

Современный TypeScript-first фреймворк

npm install grammy openai
import { Bot } from 'grammy';
import OpenAI from 'openai';

const bot = new Bot('ваш-токен-бота');
const client = new OpenAI({
  apiKey: 'sk-ваш-ключ',
  baseURL: 'https://cryptocatslab.ru/api/v1'
});

bot.on('message:text', async (ctx) => {
  await ctx.replyWithChatAction('typing');
  
  const response = await client.chat.completions.create({
    model: 'claude-sonnet-4-5',
    messages: [{ role: 'user', content: ctx.message.text }]
  });
  
  await ctx.reply(response.choices[0].message.content);
});

bot.start();

💡 Советы

  • Используй Haiku для скорости — модель claude-haiku-4-5 отвечает быстрее и дешевле
  • Добавь системный промпт — опиши роль бота для лучших ответов
  • Сохраняй историю — передавай предыдущие сообщения для контекста
  • Обрабатывай ошибки — добавь try/catch для стабильной работы

Какую модель выбрать?

Claude Haiku
быстрый, дешёвый
Claude Sonnet
рекомендуем
Claude Opus
сложные задачи
Qwen3 Coder
код, экономия

20₽ на счёт при регистрации