StudiosBot: Custom Automation for Studios Service

StudiosBot is an in-house automation suite designed to streamline operations across the Libraries' five staffed experiential learning spaces that comprise The Studios. By layering structured administrative workflows over a low-friction communication hub, the bot leverages Discord to automate elements of personnel scheduling, documentation, and reservation management for a large, collaborative student workforce.

Overview

Managing a large, energetic student workforce across five distinct service points —the Makerspace, Gaming and Esports Lab, Gaming & VR Studio, Digital Media Lab, and Maker Studio—requires frequent coordination and robust documentation. The Studios student management team developed StudiosBot to address operational pain points such as complicated scheduling, consistent rapid two-way communication, proactive user services, and accurate staff time reporting. The project shifts administrative tasks from disparate web forms and email chains into a staff-only Discord, the staff’s persistent, low-friction coordination hub. StudiosBot is strictly staff-facing, not patron-facing, and is used by Studios staff and student employees to coordinate internal operations. The primary goal is to save staff time by automating routine workflows while maintaining the ability to revert to manual processes if necessary. This approach ensures that student communication and technical support remain prioritized through automated role assignments, automated check-ins, and real-time help request routing.

How We Did It

StudiosBot is architected as a modular Python application utilizing the discord.py library. Its functionality is organized into "cogs"—modular units that implement slash commands, scheduled background jobs, and event listeners. The technical stack bridges the Discord interface with the Google Workspace API ecosystem and internal Libraries infrastructure including the Libraries' custom webAPI. Discord was selected because Studios staff already used it day to day and were familiar with its channels, roles, and notifications, making it a low-training, high-adoption coordination hub.

Key technical components of StudiosBot include:

  • Scheduling Integration: The bot polls Google Calendars for "unclaimed" shifts (designated by specific color IDs). Participants can claim these shifts via interactive Discord components, triggering a calendar patch that updates event metadata and ownership.

  • Operational Logging: Using the Google Sheets API, the bot records missed punches, 3D printer maintenance issues, and room reservation outcomes without this data exiting the University's preferred Google ecosystem. 

  • Communication Routing: The bot routes IT tickets—captured via Discord modals—to specific staff distribution lists based on the location of the hardware issue to make upkeep of Studios spaces as seamless as possible for IT colleagues.

  • Reservation State-Machine: To manage room bookings, the bot structures an acknowledgement and attendance workflow. This ensures that on-duty staff are pinged for upcoming reservations ahead of patron arrival.