Skip to content

Commit 054128a

Browse files
imagine-hussaintuneinzcDay1
authored
migrate from insou api to circles for the handbook commands (#128)
* migrate from insou api to circles for the handbook commands * remove trailing forward slash in handbook.json * handbook: the handbook is fixed * Update handbook.js commented out a console.log --------- Co-authored-by: tunein <[email protected]> Co-authored-by: zcDay1 <[email protected]>
1 parent e9eca14 commit 054128a

File tree

3 files changed

+29
-27
lines changed

3 files changed

+29
-27
lines changed

commands/handbook.js

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -27,76 +27,78 @@ module.exports = {
2727

2828
let data;
2929
try {
30-
const response = await axios.get(`${apiURL}${courseCode}`);
30+
// Documented at:
31+
// https://circlesapi.csesoc.app/docs#/courses/get_course_courses_getCourse__courseCode__get
32+
const response = await axios.get(`${apiURL}/courses/getCourse/${courseCode}`);
3133
data = response.data;
34+
// console.log(data);
3235
} catch (e) {
3336
return await interaction.reply({
3437
content: "Invalid course code.",
3538
ephemeral: true,
3639
});
3740
}
3841

42+
const {
43+
title, code, UOC, level, description, study_level, school, campus,
44+
equivalents, raw_requirements, exclusions, handbook_note, terms
45+
} = data;
46+
3947
const courseInfo = new MessageEmbed()
40-
.setTitle(data["title"])
41-
.setURL(`${handbookURL}${courseCode}`)
48+
.setTitle(title)
49+
.setURL(`${handbookURL}/${code}`)
4250
.setColor(0x3a76f8)
4351
.setAuthor(
44-
`Course Info: ${courseCode} (${data["credit_points"]} UOC)`,
52+
`Course Info: ${code} (${UOC} UOC)`,
4553
"https://i.imgur.com/EE3Q40V.png",
4654
)
4755
.addFields(
4856
{
4957
name: "Overview",
50-
value: textVersion(data["description"]).substring(
58+
value: textVersion(description).substring(
5159
0,
52-
Math.min(textVersion(data["description"]).indexOf("\n"), 1024),
60+
Math.min(textVersion(description).indexOf("\n"), 1024),
5361
),
5462
inline: false,
5563
},
5664
{
5765
name: "Enrolment Requirements",
5866
value:
59-
data["enrolment_requirements"].replace(
67+
raw_requirements.replace(
6068
/[A-Z]{4}[0-9]{4}/g,
6169
`[$&](${handbookURL}$&)`,
6270
) || "None",
6371
inline: true,
6472
},
6573
{
6674
name: "Offering Terms",
67-
value: data["offering_terms"],
68-
inline: true,
69-
},
70-
{
71-
name: "Delivery Mode",
72-
value: data["delivery_mode"],
75+
value: terms.join(", "),
7376
inline: true,
7477
},
7578
{
7679
name: "Equivalent Courses",
77-
value:
78-
data["equivalent_courses"]
79-
.map((course) => `[${course}](${handbookURL}${course})`)
80-
.join(", ") || "None",
80+
value:
81+
Object.keys(equivalents)
82+
.map((course) => `[${course}](${course})`)
83+
.join(", ") || "None",
8184
inline: true,
8285
},
8386
{
8487
name: "Exclusion Courses",
8588
value:
86-
data["exclusion_courses"]
89+
Object.keys(exclusions)
8790
.map((course) => `[${course}](${handbookURL}${course})`)
8891
.join(", ") || "None",
8992
inline: true,
9093
},
91-
{
92-
name: "Course Outline",
93-
value: `[${courseCode} Course Outline](${data["course_outline_url"]})`,
94-
inline: true,
95-
},
94+
/* { */
95+
/* name: "Course Outline", */
96+
/* value: `[${courseCode} Course Outline](${data["course_outline_url"]})`, */
97+
/* inline: true, */
98+
/* }, */
9699
)
97100
.setTimestamp()
98-
.setFooter("Data fetched from Zac's Handbook API");
99-
101+
.setFooter("Data fetched from Circles' Api");
100102
await interaction.reply({ embeds: [courseInfo] });
101103
}
102104
},

config/database.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ user: user
66
dbname: bot
77
password: pass
88
host: 0.0.0.0
9-
port: 40041
9+
port: 40041

config/handbook.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
2-
"apiURL": "https://handbook.insou.dev/api/v1/course/",
2+
"apiURL": "https://circlesapi.csesoc.app",
33
"handbookURL": "https://www.handbook.unsw.edu.au/undergraduate/courses/2022/"
44
}

0 commit comments

Comments
 (0)