Задачи чат-бота: автоматическое бронирование, финансовые операции, приём текстовых заказов, ответы на типовые вопросы, интерактивное меню или каталог, сбор информации, информирование клиентов. Продукт: Telegram. Техзадание есть. 1. Введение 1.1. Назначение документа Настоящий документ описывает технические и функциональные требования к разработке Telegram-бота для отслеживания курсов криптовалют, управления портфелем и получения актуальной информации с рынка. 1.2. Цели проекта Предоставить пользователям удобный и быстрый доступ к актуальным курсам криптовалют. Автоматизировать процесс отслеживания личного инвестиционного портфеля. Оповещать пользователей о значительных изменениях на рынке (цена, объемы). Собирать и структурировать новости из надежных источников в одном месте. 1.3. Целевая аудитория Начинающие и опытные инвесторы в криптовалюты. Трейдеры, нуждающиеся в быстрых уведомлениях. Люди, желающие следить за рынком без использования сложных биржевых терминалов. 2. Общее описание 2.1. Функциональность продукта Бот будет предоставлять следующий набор функций: Отслеживание курсов: Просмотр текущей цены, изменений за 24ч, объемов торгов для множества криптовалют. Управление портфелем: Возможность вручную добавлять активы (монета, количество, цена покупки) для расчета общей стоимости, прибыли/убытка. Уведомления: Настройка оповещений при достижении ценой определенного уровня. Новости и аналитика: Получение сводки последних новостей из заданных источников. Конвертер: Быстрая конвертация суммы из одной криптовалюты в другую (например, 1 BTC в USDT). 2.2. Аналоги@WhaleAlertBot (оповещения о крупных переводах) @cryptocom_bot (официальный бот Crypto.com) Различные боты для отслеживания портфеля (например, Delta, но не в Telegram). 3. Требования к пользовательскому интерфейсу (UI/UX) 3.1. Основные принципы Простота: Минималистичный и интуитивно понятный интерфейс на основе кнопок и команд. Скорость: Отклик бота должен быть мгновенным. Удобство: Легкая навигация через inline-меню. 3.2. Структура меню Главное меню (команда /start): 📊 Курсы -> Подменю выбора монеты или ввода тикера. 💼 Мой портфель -> Показать портфель | Добавить актив | Удалить актив. 🔔 Уведомления -> Список уведомлений | Создать уведомление. 📰 Новости -> Показать последние новости | Выбор источника. 🔄 Конвертер ℹ️ Помощь (/help) 4. Функциональные требования 4.1. Модуль отслеживания курсов (Price Tracking) FR1: По команде /price или через меню бот должен запросить тикер криптовалюты (например, BTC) и вывести ее текущую цену в USD (и USDT), изменение цены за 24 часа, торговые объемы. FR2: Возможность получать цену сразу для нескольких монет через запятую (/price btc,eth,sol). Источник данных: CoinGecko API (бесплатный тариф) или Binance API. 4.2. Модуль управления портфелем (Portfolio Management) FR3: По команде /portfolio пользователь видит сводку: общую стоимость портфеля, общую прибыль/убыток, детализацию по каждому активу. FR4: Возможность добавить актив через кнопку "Добавить актив". Бот запрашивает: Тикер (BTC), количество (0.5), цену покупки (50000). FR5: Возможность редактировать или удалять активы из списка. FR6: Расчет прибыли/убытка для каждого актива и в целом по портфелю в абсолютных значениях и в процентах. Данные о текущей цене берутся из API. 4.3. Модуль уведомлений (Alerts) FR7: Пользователь может установить уведомление командой /alert. Бот запрашивает: тикер, условие (выше/ниже), целевая цена. FR8: Все активные уведомления хранятся в БД и проверяются фоновым процессом (cron job) каждые N минут. FR9: При срабатывании условия бот отправляет пользователю сообщение. FR10: Возможность просмотра списка всех уведомлений и их удаления. 4.4. Модуль новостей (News) FR11: По команде /news бот выводит 5-10 последних заголовков новостей с ссылками из авторитетных источников (CoinDesk, Cointelegraph, Binance Feed). FR12: Возможность фильтровать новости по ключевым словам (например, "Bitcoin", "Ethereum"). 4.5. Модуль конвертера (Converter) FR13: По команде /convert бот запрашивает: сумму, исходную валюту, целевую валюту. Выводит результат конвертации по текущему курсу. 5. Нефункциональные требования 5.1. Требования к производительности Время отклика бота на команду пользователя не должно превышать 2 секунд. Фоновая проверка уведомлений должна выполняться без влияния на отзывчивость бота. 5.2. Требования к безопасности Все пользовательские данные (данные портфеля, уведомления) должны быть строго привязаны к user_id в Telegram. Доступ к БД должен быть защищен. Ключи API должны храниться в защищенных переменных окружения (.env файл), а не в коде. 5.3. Требования к надежности Бот должен иметь uptime не менее 99%. Обработка ошибок API (например, если криптовалюта не найдена) должна быть корректной, с понятным сообщением пользователю. Реализовать механизм повторных попыток при запросах к внешним API. 6. Техническая спецификация 6.1. Стек технологий Язык программирования: Python 3.11+ Фреймворк для бота: python-telegram-bot (v20.x) База данных: SQLite (для прототипа/небольшой нагрузки) или PostgreSQL (для масштабирования) ORM: SQLAlchemy Core или ORM API для данных: CoinGecko API (или Binance API, Bybit API) Хостинг: VPS (Hetzner, DigitalOcean), серверless (AWS Lambda) или выделенный сервер. Дополнительно: Aiohttp для асинхронных HTTP-запросов, Schedule или APScheduler для фоновых задач. 6.2. Структура базы данных (предварительная) Таблица users user_id (PK, Integer) username (Text) first_name (Text) created_at (DateTime) Таблица assets (активы в портфеле) id (PK) user_id (FK to users) symbol (Text) // e.g., 'btc' quantity (Float) purchase_price (Float) added_at (DateTime) Таблица alerts id (PK) user_id (FK to users) symbol (Text) target_price (Float) condition (Enum: 'above', 'below') is_active (Boolean) created_at (DateTime) 7. Этапы разработки (Дорожная карта) Этап 1 (Прототип): Настройка базовой структуры бота. Реализация команд /start, /help. Модуль отслеживания курсов (/price). Этап 2 (База данных и ядро): Проектирование и подключение БД. Реализация модуля управления портфелем (добавление, просмотр). Реализация модуля конвертера. Этап 3 (Уведомления): Разработка системы уведомлений (добавление, удаление). Написание фонового скрипта для проверки условий. Этап 4 (Новости и финальная полировка): Интеграция с новостными API. Добавление обработки ошибок, логирования. Тестирование, деплой на production-сервер. Этап 5 (Будущее): Веб-панель для администрирования. Подключение платных подписок (Premium-функции). Поддержка нескольких языков. Интеграция с DeFi-протоколами для чтения данных.
Почему стоит искать работу для фриласнеров по профилю программисты в Москве у нас?
🔸 Более 5 предложений о работе за сегодня в тематике программисты
🔸 Работа и подработка на бирже фриланса от прямых заказчиков, которым нужна помощь специалистов по профилю программисты уже сегодня!
🔸 Свежих заказов на программисты в Москве для фрилансеров на май 2026 года — 4208 шт.
Как найти удалённую работу для фриланс-специалистов по профилю программисты в Москве?
Вы специалист по программисты и ищете проекты и заказы на удалёнке в Москве? Нам всегда есть что вам предложить. Ежедневно мы публикуем новые проекты и заказы по вашей специальности. Найдите интересную работу уже сегодня
Сколько проектов для IT-специалистов по профилю программисты в Москве?
На май 2026 года опубликовано 4208 предложений удалённой работы от прямых заказчиков для исполнителей по специализации программисты
Сколько можно заработать выполняя проекты по программисты?
Специалисты по профилю программисты зарабатывают от 0.00 рублей с заказа. Хотите больше? Выполняйте как можно больше заказов и зарабатывайте сколько пожелаете