Merge pull request #1 from yawaflua/yawaflua-patch-1

Update README.md
This commit is contained in:
Dima yawaflua Andreev
2024-06-26 01:24:28 +03:00
committed by GitHub
3 changed files with 34 additions and 33 deletions

View File

@@ -1,98 +1,99 @@
# Библиотека для работы с spworlds API # Библиотека для работы с spworlds API
Большинство функций было позаимствовано из библиотеки моего друга - [Mih4n](https://github.com/Mih4n/spworlds-csharp-library), так как писали мы ее вместе. Просьба по этому поводу ничего не писать. Большинство функций было позаимствовано из библиотеки моего друга - [Mih4n](https://github.com/Mih4n/spworlds-csharp-library), так как писали мы ее вместе. Просьба по этому поводу ничего не писать.
# CS Библиотека сайтов СП # CS Библиотека сайтов СП
Это библиотека для dotnet для упрощения API сайтов СП. Документация к API [тут](https://github.com/sp-worlds/api-docs). Это библиотека для dotnet для упрощения API сайтов СП. Документация к API [тут](https://github.com/sp-worlds/api-docs).
## Установка ## Установка
Вы можете установить эту библиотеку при помощи CLI Вы можете установить эту библиотеку при помощи CLI
(`dotnet`), NuGet или альтернативного пакетного менеджера. (`dotnet`), NuGet или альтернативного пакетного менеджера.
```bash ```bash
dotnet add package spworlds dotnet add package spworlds
``` ```
## Использование ## Использование
```cs ```cs
... ...
// При создании объекта вы должны передать ID и Токен карты, в порядке, указанном ниже // При создании объекта вы должны передать ID и Токен карты, в порядке, указанном ниже
var spw = new SPWorldsApi("[ваш айди]", "[ваш токен]"); var spw = new SPWorldsApi("[ваш айди]", "[ваш токен]");
``` ```
## Использование ## Использование
### Инициализировать платежную форму ### Инициализировать платежную форму
Если вы хотите выставить счет для оплаты в арах у себя на сайте, или же в стороннем приложении, используйте этот метод. Если вы хотите выставить счет для оплаты в арах у себя на сайте, или же в стороннем приложении, используйте этот метод.
Получение ссылки на страницу оплаты 16 АР, после успешной оплаты пользователь перейдет со страницы оплаты на `https://example.com/success`, а сайт СП отправит запрос на `https://api.example.com/webhook` с данными этого платежа, в том числе и `SomeString`. Последнее поле можно использовать, например, для ID заказа, так как он возвращается вместе с вебхуком об успешной оплате. Получение ссылки на страницу оплаты 16 АР, после успешной оплаты пользователь перейдет со страницы оплаты на `https://example.com/success`, а сайт СП отправит запрос на `https://api.example.com/webhook` с данными этого платежа, в том числе и `SomeString`. Последнее поле можно использовать, например, для ID заказа, так как он возвращается вместе с вебхуком об успешной оплате.
```cs ```cs
const url = await sp.InitPayment( const url = await sp.InitPayment(
[ [
new PaymentItems() { Name = "Тестовая оплата", Count = 1, Price = 16, Comment = "Это пример тестовой оплаты в вашем сайте или приложении"} new PaymentItems() { Name = "Тестовая оплата", Count = 1, Price = 16, Comment = "Это пример тестовой оплаты в вашем сайте или приложении"}
], ],
"https://example.com/success", "https://example.com/success",
"https://api.example.com/webhook", "https://api.example.com/webhook",
"SomeString" "SomeString"
); );
``` ```
ИЛИ ИЛИ
```cs ```cs
[HttpPost("/create_payment_url/")] [HttpPost("/create_payment_url/")]
public async Task<IActionResult> GetCreatePaymentFunction([FromBody] PaymentData paymentData) public async Task<IActionResult> GetCreatePaymentFunction([FromBody] PaymentData paymentData)
{ {
const url = await sp.InitPayment(paymentData); const url = await sp.InitPayment(paymentData);
// Ваша логика // Ваша логика
} }
``` ```
### Перевод АРов на другую карту ### Перевод АРов на другую карту
Перевод 16 АР на карту с номером 11111 и комментарием "С днем рождения!" Перевод 16 АР на карту с номером 11111 и комментарием "С днем рождения!"
```cs ```cs
await sp.CreateTransaction("11111", 16, "С днем рождения!"); await sp.CreateTransaction("11111", 16, "С днем рождения!");
``` ```
### Получение баланса карты ### Получение баланса карты
```cs ```cs
int balance = await sp.GetCardBalance(); int balance = await sp.GetCardBalance();
``` ```
### Получение ника игрока ### Получение ника игрока
Метод принимает ID игрока в Discord и возвращает его ник, если у него есть вход на сервер. Метод принимает ID игрока в Discord и возвращает его ник, если у него есть вход на сервер.
```cs ```cs
IUser user = await sp.GetUser("111111111111111111"); IUser user = await sp.GetUser("111111111111111111");
if (user.Name == "yawaflua") if (user.Name == "yawaflua")
{ {
// ваша логика // ваша логика
} }
``` ```
### Получение скина(части скина) игрока ### Получение скина(части скина) игрока
Метод принимает один из элементов енам-класса SkinPart и разрешение скина(советуется использовать 64, 128 и т.д., но если вам требуется использовать специфичные значения, например на сайте, указывайте как хотите) Метод принимает один из элементов енам-класса SkinPart и разрешение скина(советуется использовать 64, 128 и т.д., но если вам требуется использовать специфичные значения, например на сайте, указывайте как хотите)
Метод является сабметодом класса User, так что выглядит это так: Метод является сабметодом класса User, так что выглядит это так:
```cs ```cs
IUser user = await sp.GetUser("111111111111111111"); IUser user = await sp.GetUser("111111111111111111");
const faceUrl = user.GetSkinPart(SkinPart.face); const faceUrl = user.GetSkinPart(SkinPart.face);
``` ```
### Подтверждение вебхука ### Подтверждение вебхука
Метод рабочий, но то, что присылается от сайта вместе с вебхуком от оплаты невозможно дешифровать, все же, если очень надо, то вот: Метод рабочий, но то, что присылается от сайта вместе с вебхуком от оплаты невозможно дешифровать, все же, если очень надо, то вот:
```cs ```cs
bool IsWebHook = await sp.ValidateWebHook(WebHookText, X_Body_Hash); bool IsWebHook = await sp.ValidateWebHook(WebHookText, X_Body_Hash);
``` ```
## Contributing ## Contributing
Если вы хотите дополнить или улучшить библиотеку или документацию к ней, то сделайте pull запрос к этому репозиторию. Если вы хотите дополнить или улучшить библиотеку или документацию к ней, то сделайте pull запрос к этому репозиторию.

View File

@@ -5,7 +5,7 @@
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable> <Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings> <ImplicitUsings>enable</ImplicitUsings>
<PackageId>spworldsapi</PackageId> <PackageId>spworlds-api</PackageId>
<Description>Библиотека, созданная для облегчения работы с API сайта spworlds.ru. Что-то добавить или обновить можно в github проекта.</Description> <Description>Библиотека, созданная для облегчения работы с API сайта spworlds.ru. Что-то добавить или обновить можно в github проекта.</Description>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<Version>1.0.0</Version> <Version>1.0.0</Version>

View File

@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.9.34728.123 VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SPWorldsApi", "SPWorldsApi.csproj", "{AD0307C9-8042-44D2-B773-4DEB62D27F3D}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "spworlds-api", "spworlds-api.csproj", "{AD0307C9-8042-44D2-B773-4DEB62D27F3D}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution