spworlds-api
1.0.3
dotnet add package spworlds-api --version 1.0.3
NuGet\Install-Package spworlds-api -Version 1.0.3
<PackageReference Include="spworlds-api" Version="1.0.3" />
<PackageVersion Include="spworlds-api" Version="1.0.3" />
<PackageReference Include="spworlds-api" />
paket add spworlds-api --version 1.0.3
#r "nuget: spworlds-api, 1.0.3"
#:package spworlds-api@1.0.3
#addin nuget:?package=spworlds-api&version=1.0.3
#tool nuget:?package=spworlds-api&version=1.0.3
Библиотека для работы с 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 | Versions 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. |
-
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.