This commit is contained in:
Mih4n
2023-05-22 11:29:41 +03:00
parent 7871ab835c
commit b6655c1b9e
4 changed files with 518 additions and 66 deletions

107
README.md
View File

@@ -1,2 +1,107 @@
# spworlds
# spworlds-sharp-library
данный пак предназначен для использования апи сайта spworlds. Однако к создателям спворлдс отношения не имеет
# CS Библиотека сайтов СП
Это библиотека для dotnet для упрощения API сайтов СП. Документация к API [тут](https://github.com/sp-worlds/api-docs).
## Установка
Вы можете установить эту библиотеку при помощи
`dotnet` или альтернативного пакетного менеджера.
```bash
dotnet add package spworlds
```
## Использование
```cs
using spworlds;
...
// в теле создаете новый обект типа spworlds в
// констрактор вы ОБЯЗАННЫ передать передать параметры указанные ниже. Тип данных - стринг
SPWorlds sp = new SPworlds("[ваш айди]","[ваш токен]");
//так же я советую вам использовать dependancy injection и добавить в него данный обьект как сингл тон т.к он не
//требуется более чем в одном екземпляре и так-же вам не прейдется каждый раз прописывать строки указанные выше
//пример:
using spworlds;
SPWorlds sp = new SPworlds("[ваш айди]","[ваш токен]");
IServiceProvider = new IServiceColection()
.AddSomething() // какойто добавляемый микросервис может быть что угодно
.AddSingletone(sp)
.AddSomething() // какойто добавляемый микросервис может быть что угодно
.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://eximple.com/success",
"https://api.example.com/webhook",
"SomeString"
);
```
### Перевод АРов на другую карту
Перевод 16 АР на карту с номером 11111 и комментарием "С днем рождения!"
```cs
sp.CreateTransaction("11111", 16, "С днем рождения!");
```
### Получение баланса карты
```cs
int balance = await sp.GetCardBalance();
```
### Получение ника игрока
Метод принимает ID игрока в Discord и возвращает его ник, если у него есть вход на сервер.
```cs
string username = await sp.GetUser("111111111111111111");
if (!username)
{
// ваша логика дааа
}
```
### Подтверждение вебхука
```cs
// увы пока нет)
```
## Contributing
Если вы хотите дополнить или улучшить библиотеку или документацию к ней, то сделайте pull запрос к этому репозиторию.