Context

A Discord community regularly organized events with signup, quotas, reminders and participation tracking. Manual management was error-prone and time-consuming. The goal was to offer a centralized solution via a Discord bot (simple commands), complemented by a web portal, while storing data in Google Sheets for ease of access and user familiarity.

Objectives

  • Automate event creation, distribution and tracking via Discord commands and role-based permissions
  • Centralize signups, quotas and configurable reminders, with a simple experience for participants
  • Store and leverage data in Google Sheets (signups, history, participation scores)
  • Offer a web portal with Discord connection (OAuth2) to view, join and administer events

Approach

Development of a Discord bot in Node.js with discord.js. The bot exposes commands to create an event (controlled by roles), send reminders (configurable frequency and message) and allow members to join an event by selecting their role (participant, substitute, etc.). Implementation of list management (VIP whitelist and blacklist) to prioritize or restrict signups, especially when quota is exceeded. Integration of Google Sheets storage via API to keep event list, signups, and inject participation scores or statistics afterwards. Development of a PHP/JavaScript web portal with Discord OAuth2 authentication, allowing each user to view their events, see ongoing ones, sign up, and access history and past data. Addition of secondary commands, including fun commands and a simple chatbot, to improve community engagement.

Deliverables

  • Discord Node.js bot (discord.js) with event management, permissions, roles, quotas and reminders
  • Web portal (PHP/JS) with Discord OAuth2 login and user views (events, signups, history)
  • Google Sheets data model + API integration (read/write, participation scores)
  • Documentation, tests and deployment/operations procedures

Results achieved

  • Largely automated event creation and management, with less effort for organizers
  • Reliable signups (roles, quotas, whitelist/blacklist) and configurable reminders
  • Centralized and easy-to-share data via Google Sheets, with usable history
  • Better member autonomy via web portal connected to Discord

A similar project?

Let’s discuss your needs and how to apply these methods to your context.