New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

codeforces-api-ts

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

codeforces-api-ts

Codeforces API Client Library for Node.js with Typescript support

latest
Source
npmnpm
Version
3.0.1
Version published
Weekly downloads
54
-28.95%
Maintainers
1
Weekly downloads
 
Created
Source

Codeforces-API-TS

npm version npm downloads Contributions welcome

Codeforces-API-TS is a NodeJS Client Library for Codeforces API with Typescript support 💙

Note
Source code in this repo is heavily inspired by ahmed-dinar/codeforces-api-node.

Install

npm install codeforces-api-ts

Usage

import { CodeforcesAPI } from "codeforces-api-ts";

(async () => {
  CodeforcesAPI.setCredentials({
    API_KEY: "your-api-key",
    API_SECRET: "your-api-secret",
  });

  // all methods return a promise
  await CodeforcesAPI.call("blogEntry.comments", { blogEntryId: 79 });
  await CodeforcesAPI.call("blogEntry.view", { blogEntryId: 79 });
  await CodeforcesAPI.call("contest.hacks", { contestId: 566 });
  await CodeforcesAPI.call("contest.list", {});
  await CodeforcesAPI.call("contest.ratingChanges", { contestId: 566 });
  await CodeforcesAPI.call("contest.standings", { contestId: 566 });
  await CodeforcesAPI.call("contest.status", { contestId: 566 });
  await CodeforcesAPI.call("problemset.problems", {});
  await CodeforcesAPI.call("problemset.recentStatus", { count: 10 });
  await CodeforcesAPI.call("recentActions", { maxCount: 10 });
  await CodeforcesAPI.call("user.blogEntries", { handle: "kerolloz" });
  await CodeforcesAPI.call("user.friends", {}); // requires authorization
  await CodeforcesAPI.call("user.info", { handles: "kerolloz" });
  await CodeforcesAPI.call("user.ratedList", {});
  await CodeforcesAPI.call("user.rating", { handle: "kerolloz" });
  await CodeforcesAPI.call("user.status", { handle: "kerolloz" });
})();

API

The source code is well documented. I tried to make it as simple as possible and followed the same conventions as the official API. You can simply hover over the method name to see the description of the method and its parameters.

You can find function defentions and types in src/types.ts

Methods & Parameters

Full description of the API can be found on http://codeforces.com/apiHelp.

MethodParameters
blogEntry.comments*blogEntryId
blogEntry.view*blogEntryId
contest.hacks*contestId
contest.listgym
contest.ratingChanges*contestId
contest.standings*contestId, from, count, handles, room, showUnofficial
contest.status*contestId, handle, from, count
problemset.problemstags, problemsetName
problemset.recentStatus*count, problemsetName
recentActions*maxCount
user.blogEntries*handle
user.friendsonlyOnline
user.info*handles
user.ratedListactiveOnly, includeRetired, contestId
user.rating*handle
user.status*handle, from, count

*required parameters

Authorization

The only method that requires authorization is user.friends. To authorize your requests you need to set your API_KEY and API_SECRET using the setCredentials method.

You can get your API key from http://codeforces.com/settings/api.

Return Data

Data is returned in JSON format. For full description of data format visit http://codeforces.com/apiHelp/objects.

Keywords

codeforces

FAQs

Package last updated on 14 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts