Events
Create, manage, and coordinate community events with RSVPs, polls, and announcements.
Web Interface: https://event.irregulars.io
Overview
Section titled “Overview”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
Commands Quick Reference
Section titled “Commands Quick Reference”| Command | Description |
|---|---|
!events | List 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 |
Listing Events
Section titled “Listing Events”!events
Section titled “!events”List upcoming community events with RSVP counts and poll status.
!events!events search game night!events search downtownOutput 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.
!event
Section titled “!event ”Show detailed information for a specific event.
!event d6595bcd!event d6595bcd-1234-5678-90ab-cdef12345678Partial event IDs (8+ characters) are supported.
Creating Events
Section titled “Creating Events”!event quick
Section titled “!event quick”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:00Supported datetime formats:
- Relative:
tomorrow,tonight,this Saturday,next Friday - Named:
Feb 15 7pm,March 1 2pm - ISO:
2026-02-15 14:00
!event parse
Section titled “!event parse”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 roomConfirmation flow: After parsing, the bot shows extracted details and prompts for confirmation:
- Reply
yes,yep, orokto create the event - Reply
noorcancelto abort - Reply
1 <number>to set capacity (e.g.,1 20for 20 spots) - Reply
2 <url>to add an event link (e.g.,2 https://meet.example.com)
!event plan
Section titled “!event plan”Create an event with date and venue polls for collaborative planning.
!event plan <dates>; <venues>; <description>Format: Three parts separated by semicolons:
- Dates - comma-separated date options
- Venues - comma-separated location options
- 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 MeetingWhat happens:
- Creates event with placeholder date (first option)
- Creates time poll with all date options (morning/afternoon/evening/night slots)
- Creates location poll with all venue options
- Group members can vote to determine final date and location
Voting on Polls
Section titled “Voting on Polls”!event vote
Section titled “!event vote”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 CLocation 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 2Combined:
!event vote d6595bcd A B +1 # Time slots A & B, upvote location 1Partial IDs: Only need first 8 characters
!event vote d6595bcd A B +1 # Works the same as full UUIDAfter voting, the bot shows current poll standings with vote counts.
Inline Voting (Reply-Based)
Section titled “Inline Voting (Reply-Based)”After !event plan creates an event, you can vote by replying to the poll message:
- Numbers
1,2,3,4for date preference - Letters
A,B,C,Dfor venue preference
Command-Based RSVP
Section titled “Command-Based RSVP”!event rsvp going <event-id> # Mark as attending!event rsvp maybe <event-id> # Mark as maybe attending!event rsvp cancel <event-id> # Cancel RSVPExamples:
!event rsvp going d6595bcd!event rsvp maybe d6595bcd-1234-5678-90ab-cdef12345678Reaction-Based RSVP
Section titled “Reaction-Based RSVP”React with 👍 to any event message to RSVP as “going”.
This works on:
- Event creation confirmations
- Event share messages
!event <id>detail messages
Sharing Events
Section titled “Sharing Events”!event share
Section titled “!event share”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 groupsExamples:
!event share d6595bcd # Default groups!event share d6595bcd fpv suas # FPV and SUAS groups!event share d6595bcd all # All groupsEvent Privacy
Section titled “Event Privacy”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.
Web Interface
Section titled “Web Interface”Event Website
Section titled “Event Website”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)
Authentication
Section titled “Authentication”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
Configuration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”| Variable | Required | Description |
|---|---|---|
EVENT_SERVICE_URL | Yes | Event service URL (e.g., https://event.irregulars.io) |
EVENT_SERVICE_API_KEY | Yes | API key for bot integration |
Event Service (Cloudflare Worker)
Section titled “Event Service (Cloudflare Worker)”The event service runs as a Cloudflare Worker with D1 database:
# Deploy event servicecd event-service && npx wrangler deploy
# Check healthcurl https://event.irregulars.io/healthTroubleshooting
Section titled “Troubleshooting”Event Times Show Wrong
Section titled “Event Times Show Wrong”Symptom: Event shows UTC time instead of Eastern
Solution: Fixed in v3.21.0. All times now display in America/New_York timezone.
Event URL Returns 404
Section titled “Event URL Returns 404”Symptom: Clicking event link shows 404 page
Cause: URL uses /events/ (plural) instead of /event/ (singular)
Correct URL: https://event.irregulars.io/event/{id}
”Event not found” When Voting
Section titled “”Event not found” When Voting”Check:
- Event ID is correct (use
!eventsto list) - Use at least 8 characters of the ID
- Event has active polls (🗳️ indicator)
Poll Not Accepting Votes
Section titled “Poll Not Accepting Votes”Check:
- Poll is still open (not finalized)
- You’re using correct format (letters for time, +/- numbers for location)
Related Pages
Section titled “Related Pages”- All Commands - Complete command reference
- Community Dashboard - Overview of community web services
- Q&A System - Questions and answers
- RSS Reader - News and link aggregation