Qwasar Blog

Qwasar Students Build Discord Bot ‘Squire’ to Add to Custom-built Learning Tools Gandalf, Gimli, and Moria

Written by Kristen Capuzzo | May 9, 2023 4:07:03 PM

Two Qwasar students, Connor Cable and Thanh Ngo built a Discord bot to help facilitate student support within the Qwasar community. This independent project is already having positive impacts on the learning community. It’s an excellent example of the independent work Qwasar students engage in during their curriculum, and a testament to the creativity and initiative of Connor and Thanh.

Read on to learn about Squire and how the project came about.

               Connor Cable                             Thanh Ngo

What is the Squire bot? Tell us about it.

Connor Cable: So Squire is a Discord bot built with the Discord JS Library, and it's all written in JavaScript. It is a program designed to facilitate connections between Guardians in the Qwasar community and students. Guardians are basically mentors at Qwasar and tend to be those who are more advanced in the curricula.

What does it do?

Thanh Ngo: It basically helps connect students in need with another Guardian and it just helps to make the process easier for the guardians. Our current workflow is to go to all the different Discord channels and scroll through to look for student help requests and then reply to them. But the new channel with the bot is simplified by creating a dedicated space for Guardians to have and they won’t have to do as much work. They just go to the help request channel and look through and claim tickets.

Why did you decide to do the project?

Connor Cable: After a long time building projects in Qwasar for our own practice and our resumes, we wanted to build something useful that other learners would use. So, it was important that we found somebody or a group of people that had a problem that they encountered and developed a solution to address that problem.

Thanh Ngo: Yes, and besides that, we were training on data structures and algorithms for a while and we wanted to take a break and work on real projects for a change. We just wanted to switch it up and saw the Discord community as an opportunity to work on something that we're familiar with. We wanted to try to improve it using a Bot.

How does it work?

Connor Cable: So the Discord bot is prompted by the slash character (“/”), as all discord bots are and you can type slash help a prompt will come up. The first few selections are pre-filled selections regarding season, arc and language, and then you can type in your project. There's an optional image input and then once you hit enter, a modal pops up where you can enter the specific description of your problem. We went with a modal to enter the description because the students end of the bargain is to provide a specific and detailed description of what they're encountering. This way it's more appealing and easier for the Guardian to take a look at it and explain it.

Impact on the community?

Connor Cable:  We hope that Squire is used by as many students as possible. We're already seeing tickets come in. From what I've seen, the response time is pretty fast. Once you see that ticket come into the help channel, at least for me, I feel that I don't want people to be waiting. I know that these ticket descriptions have been pretty detailed. Whereas, I've seen people's posts in channels that are just like, “Please help me”. And that's not something that is easy to jump on because it starts with “Please help me”. And then, “How can I help you?” and then “Oh, I'm having a problem with this project”. “Okay, what about this project?”, “Are you having a problem with so on and so forth?” So we’re hoping this helps people cut to the chase of what their problem is.

Thanh Ngo: Yeah, and it’s not just helping the student, but the whole school as a whole. It's easier for a program manager to go into the archive and see how many times the student has been helped. Also, to see what project that people stumble the most on and to provide analytics, if we can, for the program managers to make Qwasar better in the long run.

Tech stack

Connor Cable: So, it's all JavaScript. And it would be the Discord.js library.

Thanh Ngo: Yes, and Node.JS, but all pretty much JavaScript.

Connor Cable: Oh, and Pm2. If you want to put in that Pm2, Advanced production process manager is what that stands for.

Thanh Ngo:  Yeah, that's just for keeping the bottom up constantly like restarting it when it's crashed and stuff like that.

Anything else you wanted to add?

Connor Cable: Yeah, we both started as students in Qwasar and I think Thanh, if you could speak on this too, there was a point in time when I was learning programming, where I knew there were things I wanted to build, but I didn't know how to and it seemed daunting. I overcame this with enough time spent coding and practice. This project was something that was not daunting, but actually fun to do!

Thanh Ngo: Yeah, and it gives us a bit of confidence too because after this, we're planning to collaborate with each other to make another software and hoping to deploy it whenever it's complete. It made us realize that we can build anything as long as we have good planning and work with each other, with the ideas and bring it to life.

Squire is one of various customized software tools within the Qwasar community and platform that are designed to facilitate engaging, modern learning using technology while maintaining a human presence and focus.

 

We are thankful for Connor and Thanh's time in developing this interview and sharing their process of creating the Squire bot.