Files
spworlds-csharp-library/README.md
2023-08-20 22:19:47 +03:00

105 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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"
);
```
### Перевод АРов на другую карту
Перевод 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 запрос к этому репозиторию.