RU: бот для тестовых и автоматизационных сценариев 2026 года.
EN: a bot for 2026 testing and automation scenarios.
Статус / Status: активный проект 2026 года; ожидает рефакторинга и переименования. / active 2026 project; refactoring and repository rename are pending.
Текущее имя / Current name: testing_2026_bot
Плановое имя / Planned name: testing-2026-bot
Topics: automation, cleanup-pending, needs-rename, needs-review, python, status-active, testing, type-bot
Простой Telegram-бот на Python, который отправляет случайные фотографии из Unsplash по запросу пользователя.
Бот предназначен для обучения и практики:
- работы с Telegram Bot API,
- подключения внешнего API (Unsplash),
- использования переменных окружения,
- развёртывания бота на хостинге (например, Render).
- Команда
/start— приветствие и справка - Команда
/ping— проверка, что бот работает - Команда
/photo <тема>— отправка случайного фото из Unsplash по ключевому слову - Корректная обработка ситуации, когда по запросу фото не найдено
- Python 3.10+
- Аккаунт в Telegram
- Аккаунт на Unsplash
- (опционально) GitHub для деплоя
- В Telegram открой @BotFather
- Выполни команду:
/newbot
- Задай имя и username бота
- Скопируй выданный BOT_TOKEN — он понадобится позже
- Зарегистрируйся на https://unsplash.com
- Перейди в раздел разработчиков: https://unsplash.com/developers
- Нажми Register as a developer
- Создай новое приложение (New Application)
- Заполни название и описание
- После создания приложения скопируй поле:
Access Key ← это и есть UNSPLASH_ACCESS_KEY
git clone https://github.com/your-username/telegram-unsplash-bot.git
cd telegram-unsplash-botРекомендуется использовать виртуальное окружение:
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activateУстановка зависимостей:
pip install -r requirements.txtВ корне проекта создай файл .env:
BOT_TOKEN=ваш_telegram_bot_token
UNSPLASH_ACCESS_KEY=ваш_unsplash_access_key.env не должен попадать в Git
Он уже добавлен в .gitignore.
python bot.pyЕсли всё настроено правильно, в консоли появится сообщение о запуске бота.
Открой Telegram и напиши боту:
/ping
/photo cat
- Если по запросу есть фото → бот пришлёт изображение
- Если фото не найдено → бот предложит попробовать другой запрос
- Ошибки ключей проверяются при старте бота
-
Залей проект в GitHub (без
.env) -
Зайди на https://render.com
-
Создай Background Worker
-
Подключи GitHub-репозиторий
-
Укажи:
-
Build Command:
pip install -r requirements.txt -
Start Command:
python bot.py
-
-
В разделе Environment Variables добавь:
BOT_TOKENUNSPLASH_ACCESS_KEY
-
Запусти деплой
После этого бот будет работать 24/7.
.
├── bot.py # основной код бота
├── config.py # загрузка и проверка конфигурации
├── startup_checks.py # проверки ключей при запуске
├── requirements.txt # зависимости
├── .env # переменные окружения (локально)
├── .gitignore
└── README.md
- Unsplash лучше ищет по английским словам
- Demo-ключ Unsplash имеет лимиты (~50 запросов/час)
- Для продакшена рекомендуется добавить кэширование запросов
Проект предназначен для учебных целей. Фотографии предоставляются сервисом Unsplash с обязательным указанием авторства.
---
Если хочешь, следующим шагом могу:
- упростить README **под совсем “нулевого” пользователя**,
- добавить раздел **FAQ / типовые ошибки**,
- или адаптировать README **под отчёт / учебную работу**.