#
How To Host & Join Office Hours with YABOB
Updated Jan.6, 2024
This page assumes that you have already invited YABOB to your server and created at least 1 queue. If not, please refer to the Invite Procedure Page to get started.
#
Access Level Roles
If you are not familiar with Discord roles, check out this official explanation.
YABOB interacts with 3 roles on your server.
- Bot Admin
- Members with total control over YABOB. The default bot admin role created during server initialization is:
- Staff
- Members that can host office hours and open queues. The default staff role created during server initialization is:
- Student
- Members that can join queues and get help. The default student role created during server initialization is:
These roles are treated as access level roles and used to restrict members of your server from accessing certain commands. For example, /clear_all
could be a disastrous command if everyone has access to it.
To get started, we recommend:
Giving Bot Admin to the administration team of the server. This could be the professor(s) of a course, the managers of a tutoring service etc.
Giving Staff to the teaching assistants / tutors / staff members.
Giving Student to everyone else or members that have verified their identity. (Example: Some servers require students to have a valid school email.)
#
Office Hour Protocol
Before starting office hours, staff members need to be given queue roles of the queues they are approved to help for. These roles are automatically created when you use /queue add <queue_name>
and have the same name as the queue category. For example, if your queue is called "Class A", then the queue role is also called "Class A".
A typical office hour session goes like this:
Staff opens queues with
/start
and joins a voice channel.Student joins the queues they need help with by pressing the
[Join]
button or using the/enqueue
command.Staff will receive a direct message from YABOB saying that a student has joined a queue.
Staff uses
/next
to dequeue a student.Student who was dequeued receives a direct message from YABOB saying that it's their turn to join the office hour voice channel. This message also contains a link to that voice channel.
Student joins the voice channel and get help.
Student leaves the voice channel after they are done receiving help.
Staff uses
/stop
to close the queues.
If you are not familiar with discord voice channel features, check out this official guide.
#
Advanced Usage (Staff & Bot Admin)
In addition to the protocol above, there are also more in-depth commands you can use to fully control your office hours:
You can use
/pause
and/resume
to temporarily stop accepting new students.You can ask students to submit a short description of what they need help with when they join the queue. This can be done with
/prompt_help_topic on
or inside the settings menu.You can track staff member's attendance and conduct analytics with the Google Sheets Logging Extension.
You can require students to be verified through some method before they are allowed to join queues. For example, you can invite another email verification bot that automatically gives new members the Student access level role when they verify their email.
Let YABOB automatically send a message to students after they leave the voice channel with the after session message setting.
#
Advanced Usage (Students)
Although the voice channels are hidden from you, the voice channel status is still visible inside
#queue
channels. If a staff member is busy helping students, you will see that they are "Busy in<Voice Channel Name>
"You can see when there will be more office hour sessions directly inside ##queue channels with the "Upcoming Sessions" embed from the Google Calendar Extension.
(If Bot Admin completed the setup) You can use
/when_next
to ask YABOB to fetch from the linked google calendar and list upcoming office hour sessions.Look for the cat in queues! It's very mysterious and only has <10% chance of showing up.
See what YABOB is doing by checking its discord presence!
There are many more commands and settings you can use beyond what we have described here in the Built-in Commands and Extension Commands page. Happy hosting office hours!