Fragment Donor SDKManba kodi

0.1.3 versiya · O‘rnatish buyruqlari aniq versiyalarni ishlatadi.

Python orqali Telegram Stars xaridi: xavfsiz integratsiya

Python backend uchun username, balans, Telegram Stars/Premium va takroriy xaridsiz 429 ishlovi.

Xarid so‘rovi wallet mnemonic va Fragment sessiya/cookie ma’lumotini API operatoriga yuboradi.

Avval Python orqali public username tekshiruvini bajaring: servis akkaunti va hamyon credentiali kerak emas. Paketni o‘rnatishdan avval nashr holatini tekshiring yoki tegishli source katalogini build qiling.

Hamyon mnemonic’i va Fragment sessiyasini runtime vaqtida uzating. Avval balansni tekshiring va decimal stringni saqlang. Misolda xarid uchun FRAGMENT_ALLOW_PURCHASES=yes va FRAGMENT_PURCHASE_KIND=stars yoki premium kerak; faqat bitta tanlangan sovg‘a bajariladi.

Bitta kerakli sovg‘ani tanlang: 50–1 000 000 Stars yoki 3/6/12 oylik Premium. Misolda ikkala API methodi ma’lumot uchun ko‘rsatilgan, bu ikki xaridni ham bajarish topshirig‘i emas. Har bir xarid haqiqiy mablag‘ sarflaydi.

Typed flood-wait xatosini tuting va kutish muddatini job scheduler’ga uzating. Xaridni avtomatik qaytarmang. Timeout/unconfirmed bo‘lsa yangi ataylab yuborilgan so‘rovdan oldin hamyon va qabul qiluvchi holatini tekshiring.

O‘rnatish

python -m pip install fragment-donor-sdk==0.1.3

Misol

"""Server example; opt in and choose exactly one purchase kind explicitly."""

import os

from fragment_donor_sdk import (
    ApiError,
    FloodWaitError,
    FragmentDonorClient,
    WalletCredentials,
)


def main():
    allow_purchase = os.getenv("FRAGMENT_ALLOW_PURCHASES") == "yes"
    purchase_kind = os.getenv("FRAGMENT_PURCHASE_KIND")
    if allow_purchase and purchase_kind not in {"stars", "premium"}:
        raise SystemExit(
            "Set FRAGMENT_PURCHASE_KIND=stars or premium; no purchase sent"
        )
    client = FragmentDonorClient()
    username = os.getenv("FRAGMENT_USERNAME", "durov")
    try:
        user = client.get_user_info(username)
        print("Username:", user.username)
        if not os.getenv("FRAGMENT_MNEMONIC"):
            return
        credentials = WalletCredentials(
            mnemonic=os.environ["FRAGMENT_MNEMONIC"],
            cookie=os.getenv("FRAGMENT_COOKIE"),
            provider_key=os.getenv("TONCONSOLE_API_KEY"),
        )
        balance = client.wallet_balance(credentials=credentials)
        print("TON:", balance.ton, "USDT:", balance.usdt_ton)
        if allow_purchase and purchase_kind == "stars":
            # One intentional call; do not retry if the outcome is unknown.
            client.buy_stars(username, 50, credentials=credentials)
        elif allow_purchase and purchase_kind == "premium":
            client.buy_premium(username, 3, credentials=credentials)
    except FloodWaitError as error:
        print("FLOOD_WAIT seconds:", error.retry_after)
    except ApiError as error:
        print(
            type(error).__name__,
            "status:",
            error.status,
            "purchase outcome unknown:",
            error.purchase_outcome_unknown,
        )


if __name__ == "__main__":
    main()

Davom eting

Telegram Stars API: username’ga Stars yuborish · Python SDK: Telegram Stars va Premium · Payment timeout: takroriy Telegram Stars xaridini oldini olish

OpenAPI 3.0 · Postman collection