random bun scripts that dont fit anywhere else
at main 2.0 kB view raw
1import { TBAApi } from "./tba"; 2 3const client = new TBAApi({ apiKey: process.env.TBA_READ_KEY || "" }); 4 5/* 6 * interativity 7 */ 8 9const event = process.argv[2] 10 ? process.argv[2] 11 : prompt("Enter event code (2025ohmv): ") || "2025ohmv"; 12 13let year = new Date().getFullYear(); 14 15if (!event) { 16 console.log("Please specify an event to get teams from"); 17 process.exit(1); 18} 19 20console.log(`checking event: ${event}`); 21 22client.getEvent(event).then((data) => { 23 console.log("---"); 24 console.log(`Found event: ${data.name} (${data.key})`); 25 console.log(`Location: ${data.city}, ${data.state_prov}, ${data.country}`); 26 console.log(`Dates: ${data.start_date} to ${data.end_date}`); 27 console.log("---"); 28 29 year = data.year; 30 31 const confirmed = prompt("Is this the correct event? (Y/n): ") || "y"; 32 if (confirmed?.toLowerCase() !== "y") { 33 console.log("Aborting..."); 34 process.exit(1); 35 } 36}); 37 38console.log("Fetching teams..."); 39 40client.getTeamsAtEvent(event).then(async (teams) => { 41 console.log("---"); 42 console.log(`Found ${teams.length} teams at event ${event}`); 43 console.log("---"); 44 45 console.log("Teams attending:"); 46 for (const team of teams) { 47 console.log(` - Team ${team.team_number} (${team.nickname})`); 48 } 49 console.log("---"); 50 51 const eventTeams = new Map(); 52 53 for (const team of teams) { 54 const events = await client.getTeamEvents(team.key, year); 55 for (const event of events) { 56 const key = `${event.name} (${event.key})`; 57 if (!eventTeams.has(key)) { 58 eventTeams.set(key, []); 59 } 60 eventTeams.get(key).push(team.team_number); 61 } 62 } 63 64 console.log( 65 `All events these teams are attending (${eventTeams.size} events):`, 66 ); 67 for (const [eventName, teamNumbers] of eventTeams) { 68 console.log( 69 ` - ${eventName}: ${ 70 teamNumbers.length > 3 71 ? `${teamNumbers.slice(0, 3).join(", ")} and ${teamNumbers.length - 3} others` 72 : teamNumbers.join(", ") 73 }`, 74 ); 75 } 76 console.log("---"); 77});