Coder Social home page Coder Social logo

kaoushikmurugan / yet-another-better-office-hour-bot Goto Github PK

View Code? Open in Web Editor NEW
10.0 2.0 1.0 3.44 MB

Yet Another Better Office-Hours Bot

Home Page: https://tomli380576.github.io/yabob-docs/

License: GNU General Public License v3.0

TypeScript 100.00%
discord-bot discordjs office-hours office-hours-bot office-hours-queue tutoring bot discord discord-office-hours discord-queue

yet-another-better-office-hour-bot's Introduction


yet another better office hour bot
  Typescript  Node.js  Discord

Architecture redesigned by Zhongning Li (Tommy).

Based on original OH-Bot, BOB V2, and BOB V3 created by Kaoushik Murugan, Noah Rose Ledesma, Grant Gilson, and Stephen Ott.

Purpose

We wanted to implement a way to help instructors efficiently automate their office hours through Discord.

So we created YABOB, the Yet Another Better Office-hours Bot, with the goal of allowing students to effectively communicate with their instructors with the option to be able to ask their peers for help while they wait to ensure they receive the help they need.

Overview

YABOB is a Discord queue managment automation bot. This means that YABOB handles students joining/leaving a queue as well as staff members pulling a student out of the queue for a session.

YABOB implements a simple first come first serve queue system, where student are allowed to enter and leave the queue whenever they like while the office hour session is being held.

Apart from basic queue operations, some of YABOB's other useful features are:

  • Displaying upcoming office hours as listed on a linked google calendar
  • Logging help sessions (who, and how long)
  • Notifying students for the queues they're interested in
  • Automatically clear queues after a specified amount of inactive time

If you would like to host your own YABOB instance, see the Development Setup Guide to get started with running the bot.

Server Roles

There are three roles that YABOB will interact with on your server.

  • Bot Admin: The Bot Admin Role has total control of YABOB's functionalities and server interfaces.
  • Staff: The Staff Role allows control over OH sessions and locked channels. This role is usually given to Instructors, TAs and Tutors.
  • Student: The Student Role allows for the ability to interface with OH-Queue.

Office Hour Protocol

Below is the standard office hour protocol we follow.

Staff's Protocol

  1. Use the /start command to open queues that correspond to the office hour queues they help for.
  2. Wait for students to enter the queues of their choice.
  3. Use the /next command to dequeue a student and send them an invite to join the voice channel.
  4. Use the /stop command once the office hour session is over.

Multiple staff members can help for the same queue. A queue will close if and only if there is no one helping for that queue.

Student's Protocol

  1. Wait for the queue to open
  2. Join the queue by clicking on the Join button or using the /enqueue command.
  3. Wait to be pulled out of the queue by a staff member.
  4. Once they are pulled out of the queue, they will received a direct message from YABOB with a voice channel link. Click the link to join the voice channel with the staff member.
  5. Leave the voice channel at the end of the session.

More commands can be found here in our wiki.

License

Copyright (C) 2022 Zhongning Li, Kaoushik Murugan, Grant Gilson, Noah Rose Ledesma, Stephen Ott

Released under the GNU GPL v3 license.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.