TheBunnies / SPapi.NET

Эта библиотека предназначена для взаимодействия с API #СПмини.

Home Page:https://sp-api.ru/spm

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Библеотека использует .NET Core, так же перед использованием важно знать что класс SpClient является асинхронным (то есть к каждому методу этого класса нужно применять ключевое слово await)

Перед тем как кидать свои Issues по-типу: "Почему мои события не работают" убедитесь что вы используете только один экземпляр класса SpClient, такого результата можно достичь применив паттерн Singleton или механизм Dependency Injection (DI).

Разработчик данной библиотеки рекомендует использовать только одно событие (event) на один IP-address. Использование всех трёх событий одновременно может привести к неожиданному исключению в вашем приложении вызванном из-за RateLimit'a которые задали разработчики API.

Примеры:

  1. Получение всех игроков сервера:
var client = new SpClient();
var players = await client.GetOnlinePlayersAsync();
Console.WriteLine(String.Join("\n", players.ServerPlayers.Select(x => x.Nickname)));
Console.ReadKey();
  1. Получение записей из чата:
var client = new SpClient();
var messages = await client.GetChatMessagesAsync();
foreach(var message in messages)
{
Console.WriteLine($"{message.Time}:{message.Author} -- {message.Content}");
}
Console.ReadKey();
  1. Получение времени суток:
var client = new SpClient();
var daytime = await client.GetDayTimeAsync();
Console.WriteLine($"{daytime.DayTime} -- {daytime.Ticks}");
Console.ReadKey();
  1. Получение погоды:
var client = new SpClient();
var weather = await client.GetWeatherAsync();
Console.WriteLine(weather);
Console.ReadKey();
  1. Подписка на ивент MessageAdd:
var client = new SpClient();
client.MessageAdd += async (sender, e) => {Console.WriteLine($"{e.Author} - {e.Content}"); };
await Task.Delay(-1);

Подписки на остальные события соершаются аналогично.

About

Эта библиотека предназначена для взаимодействия с API #СПмини.

https://sp-api.ru/spm


Languages

Language:C# 100.0%