Skip to content

Projects description command feature #145

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 16, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions commands/handbook.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,15 +43,15 @@ module.exports = {
title,
code,
UOC,
level,
// level,
description,
study_level,
school,
campus,
// study_level,
// school,
// campus,
equivalents,
raw_requirements,
exclusions,
handbook_note,
// handbook_note,
terms,
} = data;

Expand Down
85 changes: 85 additions & 0 deletions commands/project-descriptions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
const { SlashCommandBuilder } = require("@discordjs/builders");

module.exports = {
data: new SlashCommandBuilder()
.setName("project-descriptions")
.setDescription("Returns a description for each project under CSESoc Development!")
.addStringOption((option) =>
option
.setName("project")
.setDescription("Which project do you want to be introduced to?")
.setRequired(true)
.addChoices([
["Chaos", "chaos"],
["Circles", "circles"],
["CS Electives", "cselectives"],
["Discord Bot", "discordbot"],
["Freerooms", "freerooms"],
["Jobsboard", "jobsboard"],
["Notangles", "notangles"],
["Structs.sh", "structs.sh"],
["UI/UX", "ui/ux"],
["Website", "website"],
]),
),

async execute(interaction) {
const parsedOption = interaction.options.get("project").value.toLowerCase();
// console.log(`.${parsedOption}.`);
switch (parsedOption) {
case "chaos":
await interaction.reply(
"Chaos is a CSESoc internal recruitment tool written in Rust.",
);
break;
case "circles":
await interaction.reply(
"Circles is a degree planner that helps you choose courses, plan out your terms and check progression.",
);
break;
case "cselectives":
await interaction.reply(
"Unsure about what a course is like? Worry no more; CSElectives lets you read and write reviews of UNSW CSE courses.",
);
break;
case "discordbot":
await interaction.reply(
"CSESoc Discord Bot is your friendly helper in all things fun and CSE.",
);
break;
case "freerooms":
await interaction.reply(
"Looking for a room to study in? Freerooms lets you see which on-campus rooms are vacant and which ones are booked.",
);
break;
case "jobsboard":
await interaction.reply(
"Jobsboard is an app that connects CSE students with companies looking for recruits.",
);
break;
case "notangles":
await interaction.reply(
"Notangles is a timetable planning app for UNSW students to build their perfect timetable, even before class registration opens.",
);
break;
case "structs.sh":
await interaction.reply("Structs.sh is an interactive algorithm visualiser.");
break;
case "ui/ux":
await interaction.reply(
"The CSESoc Development UI/UX team works with all things related to user interface and experience design!",
);
break;
case "website":
await interaction.reply(
"The website team are in charge of writing the software for the CSESoc website.",
);
break;
default:
await interaction.reply(
"Error: the switch case has fallen through to the default case.",
);
break;
}
},
};