mirror of
https://github.com/bohd4nx/FragmentAPI.git
synced 2026-07-25 06:14:29 +00:00
228fbfcd1c
- Moved account-related functions and classes from `pyfragment.domains.tonapi.account` to `pyfragment.services.tonapi.account`. - Moved transaction-related functions and classes from `pyfragment.domains.tonapi.transaction` to `pyfragment.services.tonapi.transaction`. - Updated imports across the codebase to reflect the new structure. - Removed unused `tonapi` module files and cleaned up related code. - Introduced `ApiProvider` enum to manage API provider types. - Added validation functions for cookies and wallet versions in a new `validation.py` module.
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
"""
|
|
Example: search the Fragment marketplace for anonymous Telegram numbers.
|
|
|
|
sort can be "price_desc", "price_asc", "listed", or "ending".
|
|
filter can be "", "auction", "sale", or "sold".
|
|
Use next_offset_id for pagination.
|
|
"""
|
|
|
|
import asyncio
|
|
import json
|
|
|
|
from pyfragment import FragmentClient, NumbersResult
|
|
|
|
SEED = "word1 word2 ... word24"
|
|
API_KEY = "YOUR_API_KEY" # tonconsole.com (tonapi, default) or t.me/toncenter
|
|
|
|
# Option A: extract cookies directly from your browser (no manual copy-paste needed)
|
|
# COOKIES = get_cookies_from_browser("chrome").cookies # or "firefox", "edge", "brave", ...
|
|
|
|
# Option B: provide cookies manually
|
|
COOKIES = {
|
|
"stel_ssid": "YOUR_STEL_SSID",
|
|
"stel_dt": "YOUR_STEL_DT",
|
|
"stel_token": "YOUR_STEL_TOKEN",
|
|
"stel_ton_token": "YOUR_STEL_TON_TOKEN",
|
|
}
|
|
|
|
QUERY = "888" # search term — or omit for all
|
|
SORT = "price_asc" # "price_desc", "price_asc", "listed", "ending" — or omit
|
|
FILTER = "" # "", "auction", "sale", "sold" — or omit
|
|
|
|
|
|
async def main() -> None:
|
|
async with FragmentClient(
|
|
seed=SEED,
|
|
api_key=API_KEY,
|
|
cookies=COOKIES,
|
|
wallet_version="V5R1", # or "V4R2", "HighloadV2", "HighloadV3R1"
|
|
api_provider="tonapi", # or "toncenter"
|
|
) as client:
|
|
result: NumbersResult = await client.search_numbers(QUERY, sort=SORT, filter=FILTER)
|
|
|
|
print(f"Found {len(result.items)} result(s):")
|
|
print(json.dumps(result.items, indent=2))
|
|
|
|
if result.next_offset_id:
|
|
print(f"\nMore results available — next page offset: {result.next_offset_id}")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
asyncio.run(main())
|