Skip to content

Events

Create, manage, and coordinate community events with RSVPs, polls, and announcements.

Web Interface: https://event.irregulars.io

The Events system allows community members to:

  • Create events quickly or with AI-assisted parsing
  • Plan events collaboratively with date/venue polls
  • RSVP via commands or reactions
  • Vote on proposed dates and locations
  • Share events to multiple Signal groups
CommandDescription
!eventsList upcoming events
!events search <term>Search events by title, location, or tags
!event <id>Show event details
!event quick "<title>" <datetime>Create event quickly
!event parse <description>AI-powered event creation
!event plan <dates>; <venues>; <desc>Create event with polls
!event vote <id>View poll options
!event vote <id> <votes>Submit poll votes
!event rsvp going <id>RSVP as going
!event rsvp maybe <id>RSVP as maybe
!event share <id>Share to other groups

List upcoming community events with RSVP counts and poll status.

!events
!events search game night
!events search downtown

Output includes:

  • Event title with poll indicator (🗳️)
  • Date and time (Eastern timezone)
  • Location
  • RSVP counts (going/maybe)
  • Voting hint for poll events: 🗳️ Vote: !event vote d6595bcd

Search: Filter by title, description, location, or tags.


Show detailed information for a specific event.

!event d6595bcd
!event d6595bcd-1234-5678-90ab-cdef12345678

Partial event IDs (8+ characters) are supported.


Create an event with a single command.

!event quick "Event Title" <datetime> [at <location>]

Examples:

!event quick "Team Meeting" tomorrow at 2pm
!event quick "Game Night" Saturday 7pm at Community Center
!event quick "Project Review" 2026-02-15 14:00

Supported datetime formats:

  • Relative: tomorrow, tonight, this Saturday, next Friday
  • Named: Feb 15 7pm, March 1 2pm
  • ISO: 2026-02-15 14:00

AI-powered event creation from natural language.

!event parse <natural language description>

Examples:

!event parse Board game night this Saturday at 7pm at the community center
!event parse Pizza party tomorrow at noon, bring your favorite toppings
!event parse Team standup every Monday at 9am in the conference room

Confirmation flow: After parsing, the bot shows extracted details and prompts for confirmation:

  • Reply yes, yep, or ok to create the event
  • Reply no or cancel to abort
  • Reply 1 <number> to set capacity (e.g., 1 20 for 20 spots)
  • Reply 2 <url> to add an event link (e.g., 2 https://meet.example.com)

Create an event with date and venue polls for collaborative planning.

!event plan <dates>; <venues>; <description>

Format: Three parts separated by semicolons:

  1. Dates - comma-separated date options
  2. Venues - comma-separated location options
  3. Description - event title and details

Examples:

!event plan Feb 15, Feb 22, March 1; Downtown Cafe, The Park, Bob's House; Annual meetup planning session
!event plan tomorrow, this saturday; pizza place, taco shop; Team lunch to celebrate the release
!event plan April 1, April 8; Virtual, Office HQ; Q2 Planning Meeting

What happens:

  1. Creates event with placeholder date (first option)
  2. Creates time poll with all date options (morning/afternoon/evening/night slots)
  3. Creates location poll with all venue options
  4. Group members can vote to determine final date and location

View and submit votes on event polls.

View poll options:

!event vote <event-id>

Submit votes:

!event vote <event-id> <time-votes> <location-votes>

Time votes: Use letters A, B, C, D for available time slots

!event vote d6595bcd A B # Available for slots A and B
!event vote d6595bcd A B C # Available for A, B, and C

Location votes: Use +N to upvote, -N to downvote

!event vote d6595bcd +1 # Upvote location 1
!event vote d6595bcd +1 -2 # Upvote location 1, downvote location 2

Combined:

!event vote d6595bcd A B +1 # Time slots A & B, upvote location 1

Partial IDs: Only need first 8 characters

!event vote d6595bcd A B +1 # Works the same as full UUID

After voting, the bot shows current poll standings with vote counts.

After !event plan creates an event, you can vote by replying to the poll message:

  • Numbers 1, 2, 3, 4 for date preference
  • Letters A, B, C, D for venue preference

!event rsvp going <event-id> # Mark as attending
!event rsvp maybe <event-id> # Mark as maybe attending
!event rsvp cancel <event-id> # Cancel RSVP

Examples:

!event rsvp going d6595bcd
!event rsvp maybe d6595bcd-1234-5678-90ab-cdef12345678

React with 👍 to any event message to RSVP as “going”.

This works on:

  • Event creation confirmations
  • Event share messages
  • !event <id> detail messages

Share an event to other Signal groups.

!event share <id> # Share to default broadcast groups
!event share <id> <keywords> # Share to groups matching keywords
!event share <id> all # Share to all groups

Examples:

!event share d6595bcd # Default groups
!event share d6595bcd fpv suas # FPV and SUAS groups
!event share d6595bcd all # All groups

Events created via Signal are marked as unlisted by default:

  • Visible at the direct link
  • Require login to view on the web
  • Not shown in public event listings

This protects community events while allowing easy sharing via direct links.


URL: https://event.irregulars.io

Features:

  • Browse and search events
  • Create events with rich editor
  • RSVP with your account
  • Vote on polls
  • View attendee lists
  • Calendar export (ICS)

The event website uses SSO (Single Sign-On) via Authentik:

  • Same login as other community services
  • Required for RSVPs and creating events
  • Required for viewing Signal-created (unlisted) events

VariableRequiredDescription
EVENT_SERVICE_URLYesEvent service URL (e.g., https://event.irregulars.io)
EVENT_SERVICE_API_KEYYesAPI key for bot integration

The event service runs as a Cloudflare Worker with D1 database:

Terminal window
# Deploy event service
cd event-service && npx wrangler deploy
# Check health
curl https://event.irregulars.io/health

Symptom: Event shows UTC time instead of Eastern

Solution: Fixed in v3.21.0. All times now display in America/New_York timezone.

Symptom: Clicking event link shows 404 page

Cause: URL uses /events/ (plural) instead of /event/ (singular)

Correct URL: https://event.irregulars.io/event/{id}

Check:

  1. Event ID is correct (use !events to list)
  2. Use at least 8 characters of the ID
  3. Event has active polls (🗳️ indicator)

Check:

  1. Poll is still open (not finalized)
  2. You’re using correct format (letters for time, +/- numbers for location)