Skip to main content

API library for MRKT app

Project description

MRKTAPI

Библиотека для работы с Telegram Market API (MRKT) - платформой для торговли NFT подарками в Telegram.

Описание

MRKTAPI предоставляет удобный Python интерфейс для взаимодействия с API платформы Telegram Market. Библиотека позволяет искать, покупать, продавать подарки, управлять балансом.

Установка

pip install MRKTAPI

Быстрый старт

Получение токена

Для работы с API необходимо получить токен аутентификации:

import asyncio
from MRKTAPI.auth import update_auth

async def get_token():
    
    # Используя api_id и api_hash
    token = await update_auth(
        api_id="YOUR_API_ID",
        api_hash="YOUR_API_HASH"
    )
    
    return token

    # Получаем токен
    token = asyncio.run(get_token())
    print(f"Токен получен: {token}")

Основные операции

import asyncio
from MRKTAPI import search, getBalance, buy, sale, getMyGifts

async def main():
    auth_data = "YOUR_TOKEN"
    
    # Получаем баланс
    balance = await getBalance(authData=auth_data)
    print(f"Баланс: {balance.hard} TON")
    
    # Ищем подарки
    gifts = await search(
        authData=auth_data,
        count=10,
        min_price=1.0,  # в TON
        max_price=10.0
    )
    
    for gift in gifts:
        print(f"Подарок: {gift.name}, Цена: {gift.price} TON")
    
    # Покупаем подарок
    if gifts:
        result = await buy(
            nft_id=gifts[0].id,
            price=gifts[0].price_nano,  # цена в нанотонах
            authData=auth_data
        )
        print("Покупка успешна!")
    
    # Получаем свои подарки
    my_gifts = await getMyGifts(authData=auth_data)
    print(f"У вас {len(my_gifts)} подарков")

asyncio.run(main())

Основные функции

Аутентификация

  • update_auth() - получение токена для работы с API

Баланс и торговля

  • getBalance(authData) - получение баланса аккаунта
  • search(authData, **filters) - поиск подарков на маркетплейсе
  • buy(nft_id, price, authData) - покупка подарка
  • sale(nft_id, price, authData) - выставление подарка на продажу
  • cancel(nft_ids, authData) - отмена продажи подарков

Управление подарками

  • getMyGifts(authData, **filters) - получение списка своих подарков
  • giftsFloors(authData) - получение минимальных цен коллекций
  • modelFloors(collection_name, authData) - получение минимальных цен моделей

Гивевеи

  • getGiveaways(giveaway_type, count, authData) - получение списка гивевеев

Утилиты

  • nanoToNormal(nano) - конвертация нанотонов в TON
  • convertToNano(ton) - конвертация TON в нанотоны
  • toShortName(name) - сокращение названий
  • rarityPerMilleToPercent(per_mille) - конвертация редкости

Примеры использования

Поиск подарков с фильтрами

gifts = await search(
    authData=auth_data,
    count=20,
    collection_names=["Lol Pop"],
    model_names=["Satellite"],
    ordering="Price",
    low_to_high=True
)

Получение минимальных цен

# Минимальные цены всех коллекций
floors = await giftsFloors(auth_data)
print(f"Минимальная цена Collection1: {floors.floors['Collection1']} TON")

# Минимальные цены моделей в коллекции
model_floors = await modelFloors("Collection1", auth_data)
for model in model_floors.models:
    print(f"{model.name}: {model.floor_price} TON")

Структуры данных

MRKTGift

Объект подарка с полями:

  • id - уникальный идентификатор
  • name - название подарка
  • price - цена в TON
  • price_nano - цена в нанотонах
  • collection_name - название коллекции
  • model_name - название модели
  • backdrop_name - название фона
  • symbol_name - название символа
  • is_mintable - можно ли минтить
  • is_new - новый ли подарок

MRKTBalance

Объект баланса с полями:

  • hard - баланс в TON
  • hard_nano - баланс в нанотонах

Требования

  • Python 3.8+
  • asyncio
  • curl_cffi
  • Kurigram

Поддержка

При возникновении проблем создавайте issue в репозитории проекта.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mrktapi-1.0.0.tar.gz (12.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mrktapi-1.0.0-py3-none-any.whl (18.8 kB view details)

Uploaded Python 3

File details

Details for the file mrktapi-1.0.0.tar.gz.

File metadata

  • Download URL: mrktapi-1.0.0.tar.gz
  • Upload date:
  • Size: 12.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for mrktapi-1.0.0.tar.gz
Algorithm Hash digest
SHA256 a86615f6463b86ba4f840793117dd96c1b1c29762b6d9ed7d28eb937f300550d
MD5 8368a3b2f0c48d2bb6bfb59cf8d9b19a
BLAKE2b-256 886482ea24822e37a42f6e5803051c47341f8717a166af7cb5cda32025457bbf

See more details on using hashes here.

File details

Details for the file mrktapi-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: mrktapi-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.0

File hashes

Hashes for mrktapi-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 642276f6a2f95df0f7570e5c0f592569f36e5c3444ae9d4bc21667f156268d1d
MD5 c5a58a4d25ee134af47e0ab98f76b5ea
BLAKE2b-256 fcd3d5d4c854984816fd79fdd74faaf7c83d28e2124aee676b0a6c5d1c52f980

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page