mirror of
https://github.com/bohd4nx/FragmentAPI.git
synced 2026-07-25 06:14:29 +00:00
4.4 KiB
4.4 KiB
Changelog
All notable changes to pyfragment are documented in this file.
The format is based on Keep a Changelog,
and this project uses Calendar Versioning (YYYY.MINOR.MICRO).
2026.1.0 — 2026-03-25
Added
Giveaways
giveaway_stars(channel, winners, amount)— Stars giveaway; 1–5 winners, 500–1 000 000 stars eachgiveaway_premium(channel, winners, months)— Premium giveaway; 1–24 000 winners, 3/6/12 months eachStarsGiveawayResult,PremiumGiveawayResultresult types
Telegram Ads
recharge_ads(account, amount)— top up a Telegram Ads account; 1–1 000 000 000 TONAdsRechargeResultresult type
Marketplace
search_usernames(query?, sort?, filter?, offset_id?)— search Fragment usernames;sort:price_desc / price_asc / listed / ending,filter:auction / sale / soldsearch_numbers(query?, sort?, filter?, offset_id?)— search Fragment anonymous numbers; samesort/filter/ pagination semanticssearch_gifts(query?, collection?, sort?, filter?, view?, attr?, offset?)— search Fragment gifts;attraccepts{"Model": ["Foosball"], "Backdrop": ["Celtic Blue"]}UsernamesResult,NumbersResult,GiftsResultresult types
Anonymous numbers
get_login_code(number)— fetch the current pending login codetoggle_login_codes(number, can_receive)— enable or disable login code deliveryterminate_sessions(number)— terminate all active Telegram sessions (two-step flow handled internally)LoginCodeResult,TerminateSessionsResultresult types;AnonymousNumberErrorexception
Raw API
FragmentClient.call(method, data, *, page_url)— raw request to any Fragment API methodFRAGMENT_BASE_URLconstant — base URL shared across all page constants and headers
Examples
examples/client/—wallet_info.py(wallet info),raw_api_call.py(raw API call)examples/numbers/—manage_number.py(login code fetch, session termination)examples/auctions/—search_usernames.py,search_numbers.py,search_gifts.py(marketplace search with pagination)examples/purchase/—send_stars.py,send_premium.py,topup_ton_balance.py,run_stars_giveaway.py,run_premium_giveaway.py,recharge_ads_balance.py
Changed
- All result types now expose a unified
amountfield (monthsandstarsremoved) __repr__includes the unit —3 months,500 stars, etc.timestampremoved from all result dataclasses- All page URL constants built from
FRAGMENT_BASE_URL; TransactionErrorincludes an SSL hint;DUPLICATE_SEQNOvariant auto-retried up to 2 times (2 s apart)- Error messages rewritten: "what happened → why → what to do"
2026.0.2 — 2026-03-20
Added
timeoutparameter onFragmentClient(default30.0s) — passed through to every HTTP request
Changed
- Cookie validation: narrowed type internally so no
# type: ignoreis needed inFragmentClient.__init__ WALLET_CLASSEStyped asdict[str, Any]so mypy resolvesfrom_mnemoniccorrectly- All four
examples/files updated toasync with FragmentClient, f-strings, and aligned error messages - README usage section rewritten with a single comprehensive
async withexample
Fixed
- mypy: missing return path in
process_transactionafter retry loop - mypy:
cookiesunion-attr error inFragmentClient.__init__
2026.0.1 — 2026-03-16
Added
- Initial stable release of
pyfragment FragmentClient— async client for the Fragment.com API with context manager support (async with)purchase_premium(username, months)— purchase Telegram Premium for any user (3, 6, or 12 months)purchase_stars(username, amount)— send Telegram Stars to any user (50–1,000,000)topup_ton(username, amount)— top up TON Ads balance (1–1,000,000,000 TON)get_wallet()— fetch wallet address and balance- Support for TON wallet versions
V4R2andV5R1 - Structured exception hierarchy (
FragmentError,ConfigurationError,CookieError, etc.) py.typedmarker — full PEP 561 typing support for type-checkers__repr__on all result types for readable debug output