Package Exports
- m4a1.js
- m4a1.js/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (m4a1.js) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Instalattion
You gotta request a Free API key on Tracker.gg
Dependencies
axios
To install use:
npm i m4a1.js
You must call CSAPI.fetchUser before using any other method.
Methods | Description |
---|---|
info | user info |
stats | lifeline stats |
weapons | weapons stats |
maps | maps stats |
There are constants to format the string of maps and weapons (feel free to pr if something is missing)
const { MAPS, WEAPONS } = require('m4a1.js')
/* Maps */
MAPS['de_cbble'] // Cobblestone
MAPS['de_train'] // Train
MAPS['de_shorttrain'] // Train (wingman)
/* Weapons */
WEAPONS['ak47'] // AK-47
WEAPONS['deagle'] // Desert Eagle
WEAPONS['hkp2000'] // P2000
This module supports either
- SteamID
- Vanity URL
You can see the diference between them in this page
Example code: (Feel free to use my steamid for testing)
const { CSAPI } = require('m4a1.js')
try {
const user = await CSAPI.fetchUser('iFraan_', 'YourApiKey')
console.log('User:', user.info())
/*
User: {
platform: 'steam' ,
steamid: '76561198137433783' ,
name: 'fran' ,
avatar: 'https://avatars.akamai.steamstatic.com/b5ac48b867b9ac1935fc564eaf1b43e8ac326e24_full.jpg'
}
*/
console.log('Stats:', user.stats())
/*
Stats: {
timePlayedDisplay: '1,311h',
timePlayed: 4722655,
score: 248751,
kills: 100376,
deaths: 64971,
kd: 1.5449354327315263,
damage: 11336712,
headshots: 42423,
dominations: 649,
shotsFired: 1308051,
shotsHit: 299525,
shotsAccuracy: 22.89857199757502,
snipersKilled: 4619,
dominationOverkills: 666,
dominationRevenges: 177,
bombsPlanted: 4962,
bombsDefused: 989,
moneyEarned: 191909700,
hostagesRescued: 0,
mvp: 11693,
wins: 1466,
ties: 0,
matchesPlayed: 3877,
losses: 2411,
roundsPlayed: 68576,
roundsWon: 1466,
wlPercentage: 37.8,
headshotPct: 42.3
}
*/
console.log('Weapons:', user.weapons())
/*
Weapons: {
ak47: {
kills: 24626,
shotsFired: 465473,
shotsHit: 107951,
shotsAccuracy: 23.191678142448648
},
aug: {
kills: 1253,
shotsFired: 25473,
shotsHit: 4664,
shotsAccuracy: 18.309582695402977
},
awp: {
kills: 8690,
shotsFired: 32426,
shotsHit: 9679,
shotsAccuracy: 29.84950348485783
},
...
}
*/
console.log('Maps:', user.maps())
/*
Maps: {
de_cbble: {
rounds: 1595,
wins: 770,
wr: 0.4827586206896552
},
de_inferno: {
rounds: 14407,
wins: 7198,
wr: 0.4996182411327827
},
de_nuke: {
rounds: 687,
wins: 358,
wr: 0.5211062590975255
},
...
}
*/
} catch (e) {
console.log(e)
/* Error: We could not find the player [player]. */
}
Disclaimer
This project is fully for educational purposes.