spworlds-api 1.0.3

dotnet add package spworlds-api --version 1.0.3
                    
NuGet\Install-Package spworlds-api -Version 1.0.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="spworlds-api" Version="1.0.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="spworlds-api" Version="1.0.3" />
                    
Directory.Packages.props
<PackageReference Include="spworlds-api" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add spworlds-api --version 1.0.3
                    
#r "nuget: spworlds-api, 1.0.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package spworlds-api@1.0.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=spworlds-api&version=1.0.3
                    
Install as a Cake Addin
#tool nuget:?package=spworlds-api&version=1.0.3
                    
Install as a Cake Tool

Библиотека для работы с spworlds API

Большинство функций было позаимствовано из библиотеки моего друга - Mih4n, так как писали мы ее вместе. Просьба по этому поводу ничего не писать.

CS Библиотека сайтов СП

Это библиотека для dotnet для упрощения API сайтов СП. Документация к API тут.

Установка

Вы можете установить эту библиотеку при помощи CLI (dotnet), NuGet или альтернативного пакетного менеджера.

dotnet add package spworlds

Использование

...

// При создании объекта вы должны передать ID и Токен карты, в порядке, указанном ниже
var spw = new SPWorldsApi("[ваш айди]", "[ваш токен]");

Использование

Инициализировать платежную форму

Если вы хотите выставить счет для оплаты в арах у себя на сайте, или же в стороннем приложении, используйте этот метод.

Получение ссылки на страницу оплаты 16 АР, после успешной оплаты пользователь перейдет со страницы оплаты на https://example.com/success, а сайт СП отправит запрос на https://api.example.com/webhook с данными этого платежа, в том числе и SomeString. Последнее поле можно использовать, например, для ID заказа, так как он возвращается вместе с вебхуком об успешной оплате.

const url = await sp.InitPayment(
  [
	new PaymentItems() { Name = "Тестовая оплата", Count = 1, Price = 16, Comment = "Это пример тестовой оплаты в вашем сайте или приложении"}
  ],
  "https://example.com/success",
  "https://api.example.com/webhook",
  "SomeString"
);

ИЛИ

[HttpPost("/create_payment_url/")]
public async Task<IActionResult> GetCreatePaymentFunction([FromBody] PaymentData paymentData)
{
  const url = await sp.InitPayment(paymentData);
  // Ваша логика
}

Перевод АРов на другую карту

Перевод 16 АР на карту с номером 11111 и комментарием "С днем рождения!"

await sp.CreateTransaction("11111", 16, "С днем рождения!");

Получение баланса карты

int balance = await sp.GetCardBalance();

Получение ника игрока

Метод принимает ID игрока в Discord и возвращает его ник, если у него есть вход на сервер.

IUser user = await sp.GetUser("111111111111111111");

if (user.Name == "yawaflua") 
{
  // ваша логика
}

Получение скина(части скина) игрока

Метод принимает один из элементов енам-класса SkinPart и разрешение скина(советуется использовать 64, 128 и т.д., но если вам требуется использовать специфичные значения, например на сайте, указывайте как хотите) Метод является сабметодом класса User, так что выглядит это так:

IUser user = await sp.GetUser("111111111111111111");
const faceUrl = user.GetSkinPart(SkinPart.face);

Подтверждение вебхука

Метод рабочий, но то, что присылается от сайта вместе с вебхуком от оплаты невозможно дешифровать, все же, если очень надо, то вот:

bool IsWebHook = await sp.ValidateWebHook(WebHookText, X_Body_Hash); 

Contributing

Если вы хотите дополнить или улучшить библиотеку или документацию к ней, то сделайте pull запрос к этому репозиторию.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.3 170 6/25/2024
1.0.2 133 6/25/2024
1.0.1 125 6/25/2024
1.0.0 122 6/25/2024