Сборка простого чат-бота: GPT + Telegram

Урок 2 курса «AI клиентская поддержка — чат-боты, FAQ, автоответы»

cover

Бот за 30 минут

Что нужно

  • OpenAI API ключ ($5 хватит на 1000 ответов)
  • Telegram bot token (бесплатно через @BotFather)
  • Hosting: твой ноут или Replit (бесплатно)

Код Python (минимум)

import os
from openai import OpenAI
from telegram import Update
from telegram.ext import Application, MessageHandler, filters, ContextTypes

openai_client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
TG_TOKEN = os.environ["TELEGRAM_TOKEN"]

SYSTEM_PROMPT = '''
Ты — служба поддержки компании ДобрыйКод.
Мы делаем сайты, приложения, CRM для бизнеса.

Отвечай:
- Кратко (до 200 слов)
- На русском
- Дружелюбно
- Если не знаешь — направляй к @dobrycode

Цены: от 350К ₽. Срок: 60 дней.
Сайт: добрыйкод.рф
'''


async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    user_text = update.message.text

    response = openai_client.chat.completions.create(
        model="gpt-4o-mini",
        messages=[
            {"role": "system", "content": SYSTEM_PROMPT},
            {"role": "user", "content": user_text}
        ],
        max_tokens=300,
    )
    answer = response.choices[0].message.content

    await update.message.reply_text(answer)


def main():
    app = Application.builder().token(TG_TOKEN).build()
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
    app.run_polling()


if __name__ == "__main__":
    main()

Установка

pip install python-telegram-bot openai
export OPENAI_API_KEY=sk-...
export TELEGRAM_TOKEN=...
python bot.py

Деплой

  • Replit (бесплатно): import GitHub → Run
  • Render.com: бесплатный тир
  • Свой сервер: systemd unit

Стоимость

  • OpenAI API: $0.001 за ответ (gpt-4o-mini)
  • При 1000 ответов/мес = $1
  • Hosting: $0 (Replit) или $5/мес (Render)

Задание

Запусти этого бота на своём канале. Тестируй 1 неделю. Сравни — сколько вопросов решено без тебя?