sigame-packs-api

1.2.3 • Public • Published

SiGame.ru API wrapper

Враппер апи для сайта sigame.ru

Установка

$ npm i sigame-packs-api

Использование

Пример

Примеры вы можете найти в папке examples

import SIGamePacksAPI from 'sigame-packs-api'
const api = new SIGamePacksAPI()

const packs = await api.query()
  .newest()
  .page(1)

console.log(packs[0].getName())

API библиотеки

Каждый запрос начинается с .query() и заканчиватеся .page(n) где n — номер страницы результатов, с которой нужно вывести паки.

Между этими методами вы можете цепочкой добавить сортировку, ограничения, поиск по словам и тегам.

Метод возвращает promise, который возвращает массив вида

[
  Array,
  next: f(),
  prev: f()
]

Таким образом вы можете использовать результат как массив паков и перемещаться по страницам с помощью асинхронных методов .next() и .prev()

search(term, ?options) : фильтр

Используется для поиска по слову. Объект options необязательный, он указывается для того, чтобы искать только в некоторых полях.

Формат объекта options:

{
  name: Boolean, // Искать в названии пака
  themes: Boolean, // Искать в названиях тем пака
  rounds: Boolean, // Искать в названиях раундов пака
  questions: Boolean, // Искать в вопросах пака
  answers: Boolean, // Искать в ответах пака
  comments: Boolean, // Искать в комментариях пака
  authors: Boolean, // Искать в авторах пака
  posterID: Boolean, // Искать в VK ID автора пака
  date: Boolean // Искать в дате публикации пака
}

По умолчанию все значения равны false, все неизвестные свойства игнорируются

tags(tags<Array[String]>) : фильтр

Используется для поиска по тегам

newest() : сортировка

Сортировать по дате публикации по убыванию

oldest() : сортировка

Сортировать по дате публикации по возрастанию

mostPopular() : сортировка

Сортировать по загрузкам по убыванию

leastDownloaded() : сортировка

Сортировать по загрузкам по возрастанию

mostQuestions() : сортировка

Сортировать по количеству вопросов по убыванию

leastQuestions() : сортировка

Сортировать по количеству вопросов по возрастанию

biggest() : сортировка

Сортировать по размеру по убыванию

smallest() : сортировка

Сортировать по размеру по возрастанию

maxMB(mb) : фильтр

Отфильтровать паки, размер больше mb

notContains(options) : фильтр

Используется для того, чтобы отфильтровать паки, где в сценариях есть особые события

Формат объекта options:

{
  audio: Boolean, // Искать паки, где нет аудио
  video: Boolean, // Искать паки, где нет видео
  images: Boolean, // Искать паки, где нет изображений
  text: Boolean // Искать паки, где нет текста
}

По умолчанию все значения равны false, все неизвестные свойства игнорируются

Экземпляр класса Pack

getId() : string

ID пака на сайте sigame.ru

getName() : string

Название пака

getAuthors() : Array[string]

Авторы пака

getDate() : Date

Дата в content.xml пака

getDifficulty() : number

Сложность в content.xml пака

getPublishDate() : Date

Дата публикации в вк

getAuthorVKId() : number

Автор поста в вк

getFile() : string

Объект вида

{
  size: Number // Размер в байтах
  downloads: Number, // Скачивания
  url: String // Ссылка на скачивание файла
}

getRounds() : Array[Object]

Массив раундов

async getContentXML() : string

❗️ Асинхронный метод ❗️

Получает с сервера content.xml в сыром формате в виде строки


Все права на SiGame принадлежат Владимиру Хилю, все права на паки принадлежат их авторам, я не владелец sigame.ru и sigame.xyz

Readme

Keywords

Package Sidebar

Install

npm i sigame-packs-api

Weekly Downloads

9

Version

1.2.3

License

MIT

Unpacked Size

12 kB

Total Files

11

Last publish

Collaborators

  • vityaschel