mirror of
https://github.com/bohd4nx/FragmentAPI.git
synced 2026-07-25 06:14:29 +00:00
ebd45d2991
- Implement tests for Stars methods: purchase_stars and giveaway_stars, including validation and success scenarios. - Add tests for Premium methods: purchase_premium and giveaway_premium, covering validation and success cases. - Create tests for topup_ton functionality, validating input and mocking successful operations. - Introduce wallet tests to verify get_wallet() functionality, ensuring correct wallet info retrieval. - Add tests for FragmentClient.call() method, validating API response handling and data merging. - Implement tests for anonymous number methods, including login codes and session management. - Create recharge_ads tests for self-service Telegram Ads recharge, validating input and success scenarios. - Add username search tests for the Fragment marketplace, ensuring correct result parsing and parameter forwarding. - Implement number search tests for the Fragment marketplace, validating result parsing and parameter handling. - Create gift search tests for the Fragment gifts marketplace, ensuring correct result parsing and parameter forwarding. - Add cookie extraction tests for get_cookies_from_browser(), validating successful extraction and error handling.
47 lines
1.4 KiB
Python
47 lines
1.4 KiB
Python
"""
|
||
Example: purchase Telegram Stars for a user.
|
||
|
||
Amount must be an integer between 50 and 1 000 000.
|
||
Set show_sender=False to send anonymously.
|
||
"""
|
||
|
||
import asyncio
|
||
|
||
from pyfragment import ConfigurationError, FragmentClient, UserNotFoundError
|
||
from pyfragment.utils import get_cookies_from_browser # noqa: F401
|
||
|
||
SEED = "word1 word2 ... word24"
|
||
API_KEY = "YOUR_TONAPI_KEY"
|
||
|
||
# Option A: extract cookies directly from your browser (no manual copy-paste needed)
|
||
# COOKIES = get_cookies_from_browser("chrome") # 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",
|
||
}
|
||
|
||
USERNAME = "@username"
|
||
AMOUNT = 500 # 50–1 000 000 stars
|
||
|
||
|
||
async def main() -> None:
|
||
async with FragmentClient(seed=SEED, api_key=API_KEY, cookies=COOKIES) as client:
|
||
try:
|
||
result = await client.purchase_stars(USERNAME, amount=AMOUNT, show_sender=True)
|
||
except UserNotFoundError:
|
||
print(f"User {USERNAME} was not found on fragment.com — check the username and try again.")
|
||
return
|
||
except ConfigurationError as e:
|
||
print(f"Invalid argument: {e}")
|
||
return
|
||
|
||
print(f"{result.amount} Stars successfully sent to {result.username} | tx: {result.transaction_id}")
|
||
|
||
|
||
if __name__ == "__main__":
|
||
asyncio.run(main())
|