mirror of
https://github.com/yawaflua/spworlds-csharp-library.git
synced 2025-12-10 04:29:25 +02:00
Remove ignored files
This commit is contained in:
120
README.md
120
README.md
@@ -1,120 +0,0 @@
|
||||
# spworlds-sharp-library
|
||||
данный пак предназначен для использования апи сайта spworlds. Однако к создателям спворлдс отношения не имеет
|
||||
|
||||
# CS Библиотека сайтов СП
|
||||
|
||||
Это библиотека для dotnet для упрощения API сайтов СП. Документация к API [тут](https://github.com/sp-worlds/api-docs).
|
||||
|
||||
## Установка
|
||||
|
||||
Вы можете установить эту библиотеку при помощи
|
||||
`dotnet` или альтернативного пакетного менеджера.
|
||||
|
||||
```bash
|
||||
dotnet add package spworlds
|
||||
```
|
||||
|
||||
## Использование
|
||||
|
||||
```cs
|
||||
...
|
||||
|
||||
// в теле создаете новый обект типа spworlds в
|
||||
// констрактор вы ОБЯЗАННЫ передать передать параметры указанные ниже. Тип данных - стринг
|
||||
// SPWorlds sp = new SPworlds("[ваш айди]", "[ваш токен]");
|
||||
|
||||
//так же я советую вам использовать dependancy injection и добавить в него данный обьект как сингл тон т.к он не
|
||||
//требуется более чем в одном экземпляре и так-же вам не прийдется каждый раз прописывать строки указанные выше
|
||||
|
||||
//пример:
|
||||
using spworlds;
|
||||
|
||||
SPWorlds sp = new SPworlds("[ваш айди]","[ваш токен]");
|
||||
|
||||
IServiceProvider = new IServiceColection()
|
||||
.AddSomething() // какойто добавляемый микросервис может быть что угодно
|
||||
.AddSingletone(sp)
|
||||
.Build();
|
||||
|
||||
// получение микросервиса в другом классе
|
||||
public class MyClass
|
||||
{
|
||||
private readonly sp;
|
||||
public MyClass(SPWorlds spInCtor)
|
||||
// заметьте, мы в конструкторе должы указать именно
|
||||
//тип того синглтона который мы хотим получить, а название может быть любым
|
||||
{
|
||||
this.sp = sp; // мы передаем переменную другой т.к данная переменная доступна только в конструкторе
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Использование
|
||||
|
||||
### Инициализировать платежную форму
|
||||
|
||||
Если вы хотите принимать оплату в АРах на своем сайте, используйте этот метод.
|
||||
|
||||
Получение ссылки на страницу оплаты 16 АР, после успешной оплаты пользователь перейдет со страницы оплаты на `https://eximple.com/success`, а сайт СП отправит запрос на `https://api.example.com/webhook` с данными этого платежа, в том числе и `SomeString`. Последнее поле можно использовать, например, для ID заказа или чего-то подобного или вставить туда json а потом его десериализовать в объект после оплаты, так как он возвращается вместе с вебхуком об успешной оплате.
|
||||
|
||||
```cs
|
||||
const url = await sp.InitPayment(
|
||||
16,
|
||||
"https://example.com/success",
|
||||
"https://api.example.com/webhook",
|
||||
"SomeString"
|
||||
);
|
||||
```
|
||||
ИЛИ
|
||||
```cs
|
||||
public async Task<IActionResult> GetCreatePaymentFunction([FromBody] PaymentData paymentData)
|
||||
{
|
||||
const url = await sp.InitPayment(paymentData);
|
||||
// Ваша логика
|
||||
}
|
||||
```
|
||||
|
||||
### Перевод АРов на другую карту
|
||||
|
||||
Перевод 16 АР на карту с номером 11111 и комментарием "С днем рождения!"
|
||||
|
||||
```cs
|
||||
sp.CreateTransaction("11111", 16, "С днем рождения!");
|
||||
```
|
||||
|
||||
### Получение баланса карты
|
||||
|
||||
```cs
|
||||
int balance = await sp.GetCardBalance();
|
||||
```
|
||||
|
||||
### Получение ника игрока
|
||||
|
||||
Метод принимает ID игрока в Discord и возвращает его ник, если у него есть вход на сервер.
|
||||
|
||||
```cs
|
||||
User user = await sp.GetUser("111111111111111111");
|
||||
|
||||
if (user.Name == "Mih4n")
|
||||
{
|
||||
// ваша логика дааа
|
||||
}
|
||||
```
|
||||
### Получение скина(части скина) игрока
|
||||
Метод принимает один из элементов енам-класса SkinPart и разрешение скина(советуется использовать 64, 128 и т.д., но если вам требуется использовать специфичные значения, например на сайте, указывайте как хотите)
|
||||
Метод является сабметодом класса User, так что выглядит это так:
|
||||
|
||||
```cs
|
||||
User user = await sp.GetUser("111111111111111111");
|
||||
const faceUrl = user.GetSkinPart(SkinPart.face, "64");
|
||||
```
|
||||
|
||||
### Подтверждение вебхука
|
||||
Метод рабочий, но то, что присылается от сайта вместе с вебхуком от оплаты невозможно дешифровать, все же, если очень надо, то вот:
|
||||
```cs
|
||||
bool IsWebHook = await sp.ValidateWebHook(WebHookText, X_Body_Hash);
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
Если вы хотите дополнить или улучшить библиотеку или документацию к ней, то сделайте pull запрос к этому репозиторию.
|
||||
Reference in New Issue
Block a user