# 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 запрос к этому репозиторию.