Как собрать собственного AI-бота для Telegram за один вечер
Если вам кажется, что создание AI-ботов крайне сложная штука, а денег на разработчиков у вас нет, то вы как раз по адресу!
Причем сделаем мы настоящего бота, который сможет уже сегодня, при вашем должном терпении, скажет вам первое "Hasta la vista, baby".
Важно уточнить, что выполнение команд может отличаться в зависимости от вашей операционной системы и типа терминала, но я советую вам установить Anaconda Prompt для первого ознакомления!
Идея у нас следующая: создать Telegram-бота, который отвечает через DeepSeek, имеет собственный характер и чуть-чуть помнит контекст.
Без серверов. Без Docker. Без FastAPI. Выкинем пока все эти сложные слова из нашей головы и просто приготовимся стучать по клавиатуре и мыши.
Итак, что именно мы сделаем:
Минимальный, но умный AI-бот, который:
- отвечает через DeepSeek API;
- имеет system prompt, то есть свой "характер";
- чуть-чуть запоминает контекст диалога для каждого пользователя;
- поднимается за 1 файл запуска, хоть на Windows-ноуте.
- Использует ProxyAPI, чтобы не заморачиваться с пополнением баланса за бугор.
Давайте приступим, непосредственно, к созданию вашего первого AI-бота.
«Я не хочу ничего доказывать. Я хочу показать.»
1. Мини-архитектура: как упорядочить хаос
Название бота я использую своё, но вы можете назвать как вам угодно. Хоть "Киборг-Убийца". Сделаем максимально простую архитектуру, состоящую из трёх файлов:
По сути — это минимальный “мозг”, который соединяет:
2. Создаём проект и окружение
Этот шаг, скорее, ритуальный. Так начинается большинство прототипов начального уровня.
Шаг 1 — выбрать папку
(у всех она своя, просто меня зовут Артем...)
Шаг 2 — создать папку проекта
Шаг 3 — создать окружение
Через Anaconda:
Или через venv:
Шаг 4 — установить библиотеки
Подробнее:
- aiogram — быстрый и асинхронный Telegram-фреймворк.
- openai — универсальный клиент, который можно направить на DeepSeek.
- python-dotenv — лучший способ не хардкодить ключи.
3. Готовим .env: чтобы не светить ключи на полконтинета
Создаём файл .env.
PowerShell:
Bash:
Anaconda
Открываем:
Вставляем туда:
И тут вы спросите, а что туда вставить-то?.. А всё очень просто!
В телеграме находим нашего отца всех ботов:
Запускаете через /start и нажимаете /newbot:
Затем вводим название вашего бота, чтобы было _bot (потом поменяете) и берёте оттуда токен:
Его и вставляете в .env!
Что касается ProxyApi. Тоже все элементарно. Заходите на сайт, регистриуретесь:
Пополняете баланс, можно начать с небольших сумм:
Затем переходим во вкладку ключей:
Тут создаете новый ключ:
Его также вставляете в файл .env
Итого:
Наш клиент для DeepSeek (llm_client.py)
Минималистичный, быстрый, простой — let's go!
Это сердце любого AI-бота.
5. Telegram-бот (bot.py):
6. Запуск
Мы открываем Telegram, пишем боту и он отвечает. Отвечает в стиле своего system prompt. И немного помнит разговор.
Простой, честный, а главное паботающий AI-продукт.
Возможные ошибки
Ошибка №1: Error code: 402 – Insufficient Balance (или похожее из ProxyAPI)
Теперь баланс считается не в DeepSeek, а на ProxyAPI.
Если видишь в консоли что-то вроде:
— это значит, что на ProxyAPI закончились средства или превышен лимит.
Как мы это чиним:
- Заходим в личный кабинет ProxyAPI.
- Открываем раздел Billing / Тарифы / Лимиты.
- Пополняем баланс или поднимаем лимиты.
После этого бот снова начинает отвечать.
Ошибка №2: RuntimeError: PROXYAPI_API_KEY не найден в .env
Это уже классика.
Значит load_dotenv не нашёл нужную переменную.
99% случаев — это одно из трёх:
1. Файл называется не .env, а .env.txt
Windows скрывает расширения → визуально .env, а реально — .env.txt.
В Проводнике включаем: Вид → Расширения имён файлов.
2. .env лежит не в той папке
Ты запускаешь:
…из D:\projects\ainova_bot, а .env лежит, например, уровнем выше.
Правильно: .env должен лежать там же, где llm_client.py (или там, откуда ты его грузишь через Path(__file__).parent / ".env").
3. Опечатка в имени переменной
Вместо:
Пишут:
Пожалуй, это основные ошибки, но если возникнут новые, можете написать комментарий или просто спросить у ChatGPT!
На этом у меня всё. Пробуйте, у вас обязательно всё получится. В наше время легче разобраться в программировании начального уровня, используя большие языковые модели.
А если вам некогда, то вы всегда можете написать лично мне в Телеграм и я возьму эту задачу на себя, ещё и базу данных добавлю, RAG, CRM и прочие фишки, без которые бизнес станет только краше, а ещё и на сайт поставлю, прикреплю Вотсап и всё будет замечательно.