Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Бот для отслеживания изменения курсов криптовалют в реальном времени.

Notifications You must be signed in to change notification settings

mrk-coder/CryptoWatcherBot

Repository files navigation

# Crypto Watch Tracker Bot
Telegram бот для отслеживания изменений цен криптовалют в реальном времени с уведомлениями и системой подписки.
## 📊 Описание
Этот бот позволяет пользователям:
- Отслеживать цены на популярные криптовалюты (BTC, ETH, BNB, SOL, XRP).
- Получать персонализированные уведомления об изменениях цен.
- Настраивать интервалы проверок, пороги срабатывания и формат уведомлений.
- Управлять подпиской через безопасную оплату с помощью [@CryptoBot](https://t.me/CryptoBot).
Бот также включает админ-панель для управления пользователями и массовой рассылки.
**Вы можете протестировать работу бота уже сейчас: [@CryptoWatchTracker_bot](https://t.me/CryptWatchTracker_bot)**
## ✨ Основные функции
- [x] Отслеживание 5 популярных криптовалют.
- [x] Уведомления об изменениях цен (настраиваемый порог).
- [x] Настройка интервала уведомлений (1-15 минут).
- [x] Настройка порога изменения цены (0.1%-5%).
- [x] Выбор формата уведомлений (Классический/Компактный/Подробный).
- [x] Система подписки с оплатой через [@CryptoBot](https://t.me/CryptoBot) (день/неделя/месяц).
 - Создание счетов для оплаты.
 - Проверка статуса оплаты.
 - Автоматическая активация подписки после оплаты.
- [x] Админ панель с управлением пользователями, ценами и рассылкой.
- [x] Массовая рассылка сообщений (с/без изображения).
- [x] Хранение данных в SQLite.
- [x] Поддержка Docker.
## 🛠 Технологии
- Python 3.10+
- [aiogram 3.x](https://docs.aiogram.dev/en/latest/) (Telegram Bot API Framework)
- SQLite3
- [aiohttp](https://docs.aiohttp.org/en/stable/) (для запросов к API криптобирж и CryptoBot)
- [python-dotenv](https://pypi.org/project/python-dotenv/) (для работы с `.env`)
## 📦 Установка
### 1. Клонирование репозитория
```bash
git clone https://github.com/mrk-coder/CryptoWatchTracker.git
cd CryptoWatchTracker

2. Создание виртуального окружения (рекомендуется)

Создание изолированного окружения помогает избежать конфликтов зависимостей с другими проектами.

# Создать виртуальное окружение
python3 -m venv venv
# Активировать его
source venv/bin/activate # Linux/macOS
# Или на Windows (в командной строке):
# venv\Scripts\activate.bat
# Или в PowerShell:
# venv\Scripts\Activate.ps1

После активации вы увидите префикс (venv) в начале строки командной оболочки.

3. Установка зависимостей

Установите все необходимые библиотеки Python, перечисленные в requirements.txt:

pip install -r requirements.txt

4. Настройка переменных окружения

Создайте файл .env в корне проекта, скопировав .env.example:

cp .env.example .env

Откройте файл .env в текстовом редакторе и заполните его:

# Токен вашего Telegram бота (получить у @BotFather)
TELEGRAM_TOKEN=your_telegram_bot_token_here
# API ключ для CryptoBot API (получить у @CryptoBot -> /pay)
CRYPTO_API_KEY=your_crypto_api_key_here
# Токен для CryptoBot API (получить у @CryptoBot -> /pay)
CRYPTO_BOT_TOKEN=your_crypto_bot_token_here
# Ваш Telegram ID (для доступа к админке)
ADMIN_ID=your_admin_telegram_id_here

Где взять токены:

  • TELEGRAM_TOKEN:
    1. Найдите @BotFather в Telegram.
    2. Отправьте команду /newbot и следуйте инструкциям, чтобы создать бота.
    3. Используйте команду /token, чтобы получить токен.
  • CRYPTO_BOT_TOKEN:
    1. Начните диалог с @CryptoBot.
    2. Отправьте команду /pay.
    3. Следуйте инструкциям для создания токена.
  • ADMIN_ID:
    1. Узнайте свой ID, например, написав сообщение боту @userinfobot.
    2. Или используйте инспектор сообщений в вашем боте для получения ID.

5. (Опционально) Настройка изображения

Поместите изображение welcome.jpg в папку assets/. Оно будет использоваться в приветственном сообщении. Если файл не найден, будет использована ссылка по умолчанию.

▶️ Запуск

Вариант 1: Запуск напрямую

Убедитесь, что виртуальное окружение активировано (source venv/bin/activate), затем:

python bot.py

Вариант 2: Запуск с помощью Docker

  1. Убедитесь, что Docker установлен.
  2. Соберите образ:
    docker build -t crypto_tracker .
    
  3. Запустите контейнер:
    docker run -it --env-file .env crypto_tracker
    

🧑‍💼 Использование админ-панели

  1. Убедитесь, что ваш ADMIN_ID указан в .env.
  2. В боте отправьте команду /admin.
  3. Откроется меню администратора с возможностями:
    • Управление пользователями (выдача/отзыв подписки, список).
    • Управление ценами подписки (день/неделя/месяц).
    • Просмотр статистики.
    • Массовая рассылка сообщений.

🧪 Тестирование

Вы можете протестировать работу бота уже сейчас, перейдя по ссылке: @CryptWatchTracker_bot

📁 Структура проекта

CryptoWatchTracker/
├── bot.py # Точка входа
├── config.py # Загрузка конфигурации из .env
├── database.py # Работа с SQLite
├── requirements.txt # Зависимости Python
├── .env.example # Пример файла .env
├── .gitignore # Игнорируемые файлы для Git
├── Dockerfile # Конфигурация Docker
├── README.md # Этот файл
├── assets/
│ └── welcome.jpg # Изображение для приветствия
├── handlers/
│ ├── start.py # Обработчики команды /start и основного меню
│ ├── tracking.py # Обработчики отслеживания валют
│ └── admin.py # Админ-панель и рассылка
├── keyboards/
│ ├── main.py # Клавиатуры для пользователей
│ └── admin.py # Клавиатуры для админов
├── services/
│ ├── crypto_api.py # Запросы к API криптобирж
│ ├── crypto_bot.py # Работа с CryptoBot API
│ └── notifications.py # Фоновая проверка цен и уведомления
└── utils/
 └── logger.py # Настройка логирования

📜 Лицензия

Этот файл готов к использованию. Просто скопируйте его содержимое в файл `README.md` в корне вашего проекта `CryptoWatchTracker`. Не забудьте заменить `<ваш_логин>` на свой логин на GitHub перед коммитом.

About

Бот для отслеживания изменения курсов криптовалют в реальном времени.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /