···
1
+
import { TBAApi } from "./tba";
3
+
const client = new TBAApi({ apiKey: process.env.TBA_READ_KEY || "" });
9
+
const event = process.argv[2]
11
+
: prompt("Enter event code (2025ohmv): ") || "2025ohmv";
13
+
let year = new Date().getFullYear();
16
+
console.log("Please specify an event to get teams from");
20
+
console.log(`checking event: ${event}`);
22
+
client.getEvent(event).then((data) => {
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}`);
31
+
const confirmed = prompt("Is this the correct event? (Y/n): ") || "y";
32
+
if (confirmed?.toLowerCase() !== "y") {
33
+
console.log("Aborting...");
38
+
console.log("Fetching teams...");
40
+
client.getTeamsAtEvent(event).then(async (teams) => {
42
+
console.log(`Found ${teams.length} teams at event ${event}`);
45
+
console.log("Teams attending:");
46
+
for (const team of teams) {
47
+
console.log(` - Team ${team.team_number} (${team.nickname})`);
51
+
const eventTeams = new Map();
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, []);
60
+
eventTeams.get(key).push(team.team_number);
65
+
`All events these teams are attending (${eventTeams.size} events):`,
67
+
for (const [eventName, teamNumbers] of eventTeams) {
69
+
` - ${eventName}: ${
70
+
teamNumbers.length > 3
71
+
? `${teamNumbers.slice(0, 3).join(", ")} and ${teamNumbers.length - 3} others`
72
+
: teamNumbers.join(", ")