/
pyadminru
/
Checking-crypto-bot
Обзор
Документация
Войти
/
pyadminru
/
Checking-crypto-bot
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
parser/binance_client_parser.py
56 строк
2 KB
PyRusAdmin
Изменение requirements.txt. Рефакторинг кода. Структурирование проекта.
22 сен 2025, 23:40
22 сен 2025, 23:40
f267a6c
Код
Авторство
О чём код?
import argparse from datetime import datetime, timezone, timedelta import asyncio from binance.client import Client from binance.exceptions import BinanceAPIException from database.database import write_transaction from proxy import setup_proxy from system.system import api_key, api_secret, user, password, ip, port async def get_wallet_history(asset='USDT', days=30): """ Получает полную историю операций по указанному активу (по умолчанию USDT) за последние N дней. """ setup_proxy(user=user, password=password, ip=ip, port=port) client = Client(api_key, api_secret) # Рассчитываем timestamp начала периода end_time = int(datetime.now(timezone.utc).timestamp() * 1000) start_time = int((datetime.now(timezone.utc) - timedelta(days=days)).timestamp() * 1000) print(f"🔍 Получаем историю кошелька для {asset} за последние {days} дней...\n") # 1. Депозиты (пополнения) try: deposits = client.get_deposit_history(coin=asset, startTime=start_time, endTime=end_time) for dep in deposits: transaction_id = dep.get('txId', '') time = datetime.fromtimestamp(dep['insertTime'] // 1000, tz=timezone.utc).strftime('%Y-%m-%d %H:%M:%S') amount = float(dep['amount']) symbol = 'USDT' from_transaction = '' to_transaction = dep.get('address', '') await write_transaction( transaction_id=transaction_id, time=time, amount=amount, symbol=symbol, from_transaction=from_transaction, to_transaction=to_transaction ) print(f"📥 Депозитов найдено: {len(deposits)}") except BinanceAPIException as e: print(f"⚠️ Ошибка при получении депозитов: {e}") async def binance_client_parser(): parser = argparse.ArgumentParser(description='Получить историю кошелька USDT на Binance') parser.add_argument('--asset', type=str, default='USDT', help='Актив, например USDT, BTC') parser.add_argument('--days', type=int, default=30, help='Количество дней назад для поиска истории') args = parser.parse_args() await get_wallet_history(asset=args.asset, days=args.days)