Fragment Donor SDKManba kodi

0.1.3 versiya · O‘rnatish buyruqlari aniq versiyalarni ishlatadi.

C# / .NET SDK: Telegram Stars va Premium

Mustaqil Fragment Donor C# / .NET SDK’ni o‘rnatish, username, Stars/Premium va rate limit bilan ishlash.

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

Runtime: .NET 8+. Paket registrda PUBLISHED bo‘lgach o‘rnating; ungacha public source ichidagi dotnet katalogidan build/install qiling.

Klient C# / .NET uslubidagi naming bilan username, Stars xaridi, Premium sovg‘asi va balansni beradi. So‘rovlar form-urlencoded. Balans decimal string sifatida, qo‘shimcha maydonlar esa yo‘qolmasdan saqlanadi.

Backend’da timeout va hamyon credentiallarini sozlang. Read retry alohida yoqilib chegaralanadi; xaridlar hech qachon avtomatik qaytarilmaydi. Aniq constructor va xato turlari paket README’sida bor.

O‘rnatish

dotnet add package FragmentDonor.Sdk --version 0.1.3

Misol

using FragmentDonor.Sdk;

// Read-only by default. Never dump or serialize credentials.
var mnemonic = Environment.GetEnvironmentVariable("FRAGMENT_MNEMONIC") ?? "";
using var client = new FragmentDonorClient(new ClientOptions
{
    Credentials = new WalletCredentials(mnemonic,
        Environment.GetEnvironmentVariable("FRAGMENT_COOKIE"))
    {
        ProviderKey = Environment.GetEnvironmentVariable("TONCONSOLE_API_KEY"),
    },
});
try
{
    var username = Environment.GetEnvironmentVariable("FRAGMENT_USERNAME") ?? "durov";
    var user = await client.GetUserInfoAsync(username);
    Console.WriteLine("Username: " + user.Username);
    if (!string.IsNullOrWhiteSpace(mnemonic))
    {
        var balance = await client.WalletBalanceAsync();
        Console.WriteLine("TON balance: " + balance.Ton);
        if (Environment.GetEnvironmentVariable("FRAGMENT_ALLOW_PURCHASES") == "yes")
        {
            // Exactly one deliberate real-money gift; never repeat blindly.
            var kind = Environment.GetEnvironmentVariable("FRAGMENT_PURCHASE_KIND");
            if (kind == "stars") await client.BuyStarsAsync(new StarsRequest(username, 50));
            else if (kind == "premium") await client.BuyPremiumAsync(new PremiumRequest(username, 3));
            else throw new ArgumentException("Select FRAGMENT_PURCHASE_KIND=stars or premium explicitly.");
        }
    }
}
catch (RateLimitException error) { Console.WriteLine($"Try later in {error.RetryAfter} seconds."); }
catch (ServiceUnavailableException error) { Console.WriteLine($"Try later in {error.RetryAfter} seconds."); }

Manba kodi · dotnet

Davom eting

Telegram Stars API’da 429, Retry-After va flood wait · API integratsiyasida hamyon credentiallarini himoyalash · Fragment Donor API va SDK haqida savollar

OpenAPI 3.0 · Postman collection