automagically detect what max oc level is

This commit is contained in:
2025-11-09 21:03:47 -05:00
parent aa5c204d5c
commit 681d597dda
2 changed files with 37 additions and 18 deletions

View File

@@ -4,26 +4,40 @@ module.exports = async (client, torn, config, state) => {
const fs = require('fs'); const fs = require('fs');
const channel = client.channels.resolve(config.channels.ocAlert); const channel = client.channels.resolve(config.channels.ocAlert);
state = require('../state.json'); state = require('../state.json');
let factionMaxCrime = 0;
const crimeLevel = (await torn.faction.upgrades()).core.upgrades.find(upgrade => upgrade.name.startsWith("Organized Crimes")).level
switch (crimeLevel) {
case 1:
factionMaxCrime = 2
break;
case 2:
factionMaxCrime = 4
break;
case 3:
factionMaxCrime = 6
break;
case 4:
factionMaxCrime = 8
break;
case 5:
factionMaxCrime = 10
break;
default:
factionMaxCrime = 0
}
console.debug(`unavailableOC: Faction max crime level determined to be ${factionMaxCrime}`);
let crimes = { let crimes = {
difficulty: [ difficulty: []
{
name: '1/10',
count: 0
},
{
name: '2/10',
count: 0
},
{
name: '3/10',
count: 0
},
{
name: '4/10',
count: 0
},
]
}; };
for (let i = 1; i <= state.factionMaxCrime; i++) {
crimes.difficulty.push({
name: `${i}/10`,
count: 0
});
}
let embed = new EmbedBuilder() let embed = new EmbedBuilder()
.setTitle('Crime Availability Check') .setTitle('Crime Availability Check')
await torn.api(`https://api.torn.com/v2/faction/crimes?cat=recruiting&offset=0&sort=DESC`).then(data => { await torn.api(`https://api.torn.com/v2/faction/crimes?cat=recruiting&offset=0&sort=DESC`).then(data => {

View File

@@ -77,6 +77,11 @@ module.exports.faction = {
} }
const data = await response.json(); const data = await response.json();
return(data.crimes); return(data.crimes);
},
async upgrades() {
const response = await fetch(`https://api.torn.com/v2/faction/upgrades?key=${config.torn}`);
const data = await response.json();
return(data.upgrades);
} }
} }