You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 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 <z5371683@ad.unsw.edu.au>
Co-authored-by: zcDay1 <113964162+zcDay1@users.noreply.github.com>
* prettier formatted
* chore(deps): update `renovate` config
* chore(deps): update docker/build-push-action action to v4 (#134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Projects description command feature (#145)
* projects-descriptions v1 commit
* project-descriptions command v2 commit
* linting fixes for project-descriptions.js, and for handbook.js
---------
Co-authored-by: AcdSoftCo <106219586+AcdSoftCo@users.noreply.github.com>
* disable annoying carrotboard pins
* rolesPermOverride command is a script or one-time use command to attach every course role with permissions to view and send messages in any text channel with identical name. Please review and test before merging
* Revert "rolesPermOverride command is a script or one-time use command to attach every course role with permissions to view and send messages in any text channel with identical name. Please review and test before merging"
This reverts commit 2f59c71.
* rolesPermOverride command (#152)
* rolesPermOverride command is a script or one-time use command to attach every course role with permissions to view and send messages in any text channel with identical name. Please review and test before mergin
* BUGGY CODE but still progress over the previous commit, I will come back this evening to fix
* rolesPermOverride command: now admin-only command, and I've tested it for various cases regarding if a channel exists, if a role exists for a channel that doesnt exist, if there are two channels with the same name as a role and vice versa, and it works without error
---------
Co-authored-by: AcdSoftCo <106219586+AcdSoftCo@users.noreply.github.com>
* Roles perm override (#153)
* rolesPermOverride command is a script or one-time use command to attach every course role with permissions to view and send messages in any text channel with identical name. Please review and test before mergin
* BUGGY CODE but still progress over the previous commit, I will come back this evening to fix
* rolesPermOverride command: now admin-only command, and I've tested it for various cases regarding if a channel exists, if a role exists for a channel that doesnt exist, if there are two channels with the same name as a role and vice versa, and it works without error
* course.js: removed code to create individual user permission overwrites in each channel
---------
Co-authored-by: AcdSoftCo <106219586+AcdSoftCo@users.noreply.github.com>
* Project descriptions (#154)
* project-descriptions.js: updated course descriptions written by the directors for 2023 levelling up with Projects Fair Day, and the discord bot CTF flag easter egg entry under this command included too for this event.
* made messages ephemeral to prevent chat from being spammed by users. And got rid of link embeds in the messages.
* lint update
---------
Co-authored-by: AcdSoftCo <106219586+AcdSoftCo@users.noreply.github.com>
---------
Co-authored-by: imagine-hussain <93496985+imagine-hussain@users.noreply.github.com>
Co-authored-by: tunein <z5371683@ad.unsw.edu.au>
Co-authored-by: AcdSoftCo <106219586+AcdSoftCo@users.noreply.github.com>
Co-authored-by: Jared L <48422312+lhjt@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: abiramen <7523422+abiramen@users.noreply.github.com>
// Make sure that the channel exists, and is a text channel
137
-
if(channel===undefined){
138
-
returnawaitinteraction.reply({
139
-
content: `❌ | The course chat for \`${course}\` does not exist. If you'd like for it to be created, please raise a ticket in <#${MODERATION_REQUEST_CHANNEL}>.`,
140
-
ephemeral: true,
141
-
});
142
-
}elseif(channel.type!=="GUILD_TEXT"){
143
-
returnawaitinteraction.reply({
144
-
content: `❌ | The course chat for \`${course}\` is not a text channel.`,
Copy file name to clipboardExpand all lines: commands/project-descriptions.js
+79-33Lines changed: 79 additions & 33 deletions
Original file line number
Diff line number
Diff line change
@@ -12,14 +12,17 @@ module.exports = {
12
12
.addChoices([
13
13
["Chaos","chaos"],
14
14
["Circles","circles"],
15
-
["CS Electives","cselectives"],
15
+
["Uni-lectives","unilectives"],
16
16
["Discord Bot","discordbot"],
17
17
["Freerooms","freerooms"],
18
18
["Jobsboard","jobsboard"],
19
19
["Notangles","notangles"],
20
20
["Structs.sh","structs.sh"],
21
+
["Trainee Program","training-program"],
21
22
["UI/UX","ui/ux"],
23
+
["CMS","cms"],
22
24
["Website","website"],
25
+
["???","projects-fair-easter-egg-ctf"],
23
26
]),
24
27
),
25
28
@@ -28,57 +31,100 @@ module.exports = {
28
31
// console.log(`.${parsedOption}.`);
29
32
switch(parsedOption){
30
33
case"chaos":
31
-
awaitinteraction.reply(
32
-
"Chaos is a CSESoc internal recruitment tool written in Rust.",
33
-
);
34
+
awaitinteraction.reply({
35
+
content:
36
+
"Chaos is an internal recruitment tool written in Rust. Are you allergic to google sheets and excel? Do you have nightmares from browsing through millions of lines of csv just to pick one applicant to take in? \nIntroducing Chaos, the ultimate lifesaver for clubs and societies! \nSay goodbye to the chaos and hello to simplicity. Chaos streamlines everything, making applications a breeze. \nWith a Rust 🦀 backend, type-safe and secure, no more segfaults and losing data! \nOur minimalistic while aesthetic frontend interface frees your eyes and brains from the repetitive and dull rows and columns of data sheets 📃\n\n<https://chaos.csesoc.app/>",
37
+
ephemeral: true,
38
+
});
34
39
break;
35
40
case"circles":
36
-
awaitinteraction.reply(
37
-
"Circles is a degree planner that helps you choose courses, plan out your terms and check progression.",
38
-
);
41
+
awaitinteraction.reply({
42
+
content:
43
+
"Tired of using a poorly laid out spreadsheet to cobble together a course progression plan to follow for the next 3-8 years of your life? Have no fear, Circles is here! \nCircles is a UNSW degree planner where you can explore and validate your degree structure. \nYou can find and use a live build of Circles at <https://circles.csesoc.app/>",
44
+
ephemeral: true,
45
+
});
39
46
break;
40
-
case"cselectives":
41
-
awaitinteraction.reply(
42
-
"Unsure about what a course is like? Worry no more; CSElectives lets you read and write reviews of UNSW CSE courses.",
43
-
);
47
+
case"unilectives":
48
+
awaitinteraction.reply({
49
+
content:
50
+
"Tired of searching through websites and forum posts to find the perfect course? Only to discover that it's offered once a year? Or perhaps the workload turned out to be completely different from your expectations? \nLook no further, Uni-lectives has got your back. With 1000 unique reviews and counting across a variety of faculties, Uni-lectives is your one stop shop for UNSW courses and electives, where you can access valuable reviews and also contribute your own, empowering others to make informed choices about the courses they enrol in!\n\n<https://unilectives.csesoc.app/>",
51
+
ephemeral: true,
52
+
});
44
53
break;
45
54
case"discordbot":
46
-
awaitinteraction.reply(
47
-
"CSESoc Discord Bot is your friendly helper in all things fun and CSE.",
48
-
);
55
+
awaitinteraction.reply({
56
+
content:
57
+
"Discord Bot is your friendly CSE discord companion on the CSESoc discord server, offering various features such as checking what week it is, explaining what all CSESoc/DevSoc Projects do, the 24 minigame and more to come! \nHere's a sneak peek at coming features: \n\nWeekly Lunch buddy - a speed friending feature for organising and meeting up on-campus each week with like-minded friendly people! \nSydney Trains Delay API - conveniently check if the light rail is down from the comfort of your study room before you get hit with a nasty surprise at Anzac Parade or High Street!",
58
+
ephemeral: true,
59
+
});
49
60
break;
50
61
case"freerooms":
51
-
awaitinteraction.reply(
52
-
"Looking for a room to study in? Freerooms lets you see which on-campus rooms are vacant and which ones are booked.",
53
-
);
62
+
awaitinteraction.reply({
63
+
content:
64
+
"Freerooms is a tool designed to help UNSW students find empty or unbooked rooms on campus.\n\n🥾Have you ever wandered around campus, searching for an empty study room?🚪 Have you ever wanted to study somewhere other than the weird smelling ASB🏢, the loud corridors of Ainsworth 🏦 or the poorly decorated main library? 📚 \nIf you are a director or exec, have you ever wanted to find a room for your in-person meetings or society event? \nWhether you're in need of a quiet study nook or a large space for your society's next big event, Freerooms has got you covered!\n\n<https://freerooms.staging.csesoc.unsw.edu.au/browse>",
65
+
ephemeral: true,
66
+
});
54
67
break;
55
68
case"jobsboard":
56
-
awaitinteraction.reply(
57
-
"Jobsboard is an app that connects CSE students with companies looking for recruits.",
58
-
);
69
+
awaitinteraction.reply({
70
+
content:
71
+
"Are you tired of hearing your friends talk about their exciting summer internship experiences while feeling left out? Fear not, because Jobsboard has got your back so you can wave goodbye to spending your summer working on projects to put on your resume! \nSupported by CSESoc’s strong partnerships with top tech giants in Australia like Atlassian, IMC, Canva and more, you will have immediate access to opportunities from these companies as soon they become available on Jobsboard!\n\n<https://jobsboard.csesoc.unsw.edu.au/>",
72
+
ephemeral: true,
73
+
});
59
74
break;
60
75
case"notangles":
61
-
awaitinteraction.reply(
62
-
"Notangles is a timetable planning app for UNSW students to build their perfect timetable, even before class registration opens.",
63
-
);
76
+
awaitinteraction.reply({
77
+
content:
78
+
"Class registrations out and you have no clue how your next term is going to pan out? No idea how to come up with a timetable that balances all your classes and social events that you cannot miss? Do not worry! Notangles got your back. \nNotangles is your interactive timetable application, that can help you and your friends plan out a weekly schedule by showing you available classes for your courses and allow you to also slot in recurring events that can not be missed. It can also generate a timetable for you by taking in your preferences. Let there be no more timetable-tangles with Notangles!\n\n<https://notangles.csesoc.app/>",
79
+
ephemeral: true,
80
+
});
64
81
break;
65
82
case"structs.sh":
66
-
awaitinteraction.reply("Structs.sh is an interactive algorithm visualiser.");
83
+
awaitinteraction.reply({
84
+
content:
85
+
"Structs.sh is an educational tool for computer science students that visualizes the most fundamental data structures (arrays, linked lists and binary search trees) and algorithms (sorting, searching and traversal). \nThe 2023 team is committed to transforming your educational experience by developing an application never seen before: a visual debugger that lets users type in arbitrary C code for our website to visualize the data structure(s) present in memory.\n\n<https://structs.sh/>",
86
+
ephemeral: true,
87
+
});
88
+
break;
89
+
case"training-program":
90
+
awaitinteraction.reply({
91
+
content:
92
+
"The Training Program is a 1 term crash-course built to train up students new to or interested in web-dev! Every term, we teach the basics of React and JS, then put trainees into groups led by our talented training leads to build a personal project of their own! These personal projects can be anything that you think of, ranging from productivity web apps 📆 to dating apps built just for computer science students 😳. The training program is a place for learning new skills and getting you started on building that new tech idea you've always been thinking about!\n\nCome join today!",
93
+
ephemeral: true,
94
+
});
67
95
break;
68
96
case"ui/ux":
69
-
awaitinteraction.reply(
70
-
"The CSESoc Development UI/UX team works with all things related to user interface and experience design!",
71
-
);
97
+
awaitinteraction.reply({
98
+
content:
99
+
"The CSESoc Development UI/UX team works with all things related to user interface and experience design!",
100
+
ephemeral: true,
101
+
});
102
+
break;
103
+
case"projects-fair-easter-egg-ctf":
104
+
awaitinteraction.reply({
105
+
content: "Good job! Ollie's easter egg is levelup{discordbot_and_Ollie}",
106
+
ephemeral: true,
107
+
});
108
+
break;
109
+
case"cms":
110
+
awaitinteraction.reply({
111
+
content:
112
+
"Each year CSESoc creates and publishes a number of blogs, articles, and guides dedicated to exploring interesting topics and helping students with their studies. The CMS aims to make creating these documents easier and more efficient by unifying the system used across portfolios. \nThis year the team has focused on developing the fundamental building blocks blog writers may need such as having sections of code within documents. The CMS team continues to evolve the application with the objective of having concurrent editing capabilities.",
113
+
ephemeral: true,
114
+
});
72
115
break;
73
116
case"website":
74
-
awaitinteraction.reply(
75
-
"The website team are in charge of writing the software for the CSESoc website.",
76
-
);
117
+
awaitinteraction.reply({
118
+
content:
119
+
"Representing the CSE Society, the website showcases the main features of the community and collates all relevant resources in an easily located manner. Decorated with links to portfolios, guides, sponsors, and relevant social media platforms, the website allows all students to quickly navigate to the service they require.\n\n<https://www.csesoc.unsw.edu.au/>",
120
+
ephemeral: true,
121
+
});
77
122
break;
78
123
default:
79
-
awaitinteraction.reply(
80
-
"Error: the switch case has fallen through to the default case.",
81
-
);
124
+
awaitinteraction.reply({
125
+
content: "Error: the switch case has fallen through to the default case.",
0 commit comments