npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sigame-packs-api

v1.2.3

Published

API wrapper for sigame.ru which displays info about SiGame packs

Downloads

6

Readme

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