Documentation

Soren Knowledgebase

Full command reference, FAQ, and everything you need to get the most out of Soren.

📌 Commands marked Event Creator require the Event Creator role assigned during /setup. Server admins always have access to all commands.
🏓

General

/ping Check bot status, latency, uptime, and version info. Everyone
/help Show all available commands in a quick reference embed. Everyone
/premium View the free vs. premium feature comparison and pricing. Everyone
⚙️

Setup & Config

/setup First-time server setup. Assigns the Event Creator role. Admins
/config View current server configuration and settings. Admins
/embedcolor Choose the color for event embeds (3 free, 8 premium). Admins
/premiumcode Redeem a premium activation code for your server. Admins
📅

Events

/newevent Create a new event via a 4-step guided flow: type → timezone → reminder → details. Event Creator
/editevent Edit an existing event by its ID (slash command fallback). Event Creator
/deleteevent Permanently delete an event and its embed. Event Creator
/cancelevent Soft-cancel an event (marks as cancelled without deleting). Event Creator
/listevents View all upcoming events in this server, paginated. Everyone
/myevents List events you've RSVPed to (accepted or tentative). Everyone
/eventbuttons Customize RSVP button labels and toggle the Tentative button. Event Creator
📆

Google Calendar Sync

/gcal connect Connect a primary Google Calendar to push new /newevent events into. Admins
/gcal verify Complete the Google Calendar OAuth connection with your auth code. Admins
/gcal disconnect Remove the primary Google Calendar connection. Admins
🗓️

G-Cal Integrations

/gcalint add Connect a Google Calendar for automatic weekly digest summaries. Admins
/gcalint verify Complete auth and pick which calendar to use from your account. Admins
/gcalint list View all connected calendars and their posting schedules. Admins
/gcalint remove Disconnect and remove a calendar integration. Admins
/gcalint pause Pause or resume auto-posting for a calendar. Admins
/gcalint post Manually trigger a summary post for a calendar right now. Admins

Frequently Asked Questions

No. The core event system (create, RSVP, reminders) works completely without Google. Google Calendar integration is optional and requires a Google Cloud project with the Calendar API enabled.
Soren will show an error when you try to create more than 10 events on the free tier. You can delete old events to make room, or upgrade to Premium for unlimited events.
Yes — anyone with the Event Creator role (assigned during /setup) can create, edit, and delete events. Server administrators always have full access regardless of role.
Yes. Soren registers its views persistently so buttons remain fully functional across restarts. No need to re-post events.
They're two separate systems. /gcal sync pushes events you create via /newevent into Google Calendar. G-Cal Integrations (/gcalint) reads from Google Calendar and posts weekly digest summaries into Discord — great for syncing a shared team calendar into your server.
Premium is per-server. Each server that wants premium features needs its own activation code.
Yes — Soren is fully open source. Clone the repo from GitHub, follow the setup guide, and run it on any machine or VPS with Python 3.10+.
🌍

Supported Timezones

These timezones are available in the /newevent timezone picker. The edit modal also accepts any valid IANA timezone name.

Label Timezone ID Offset
Eastern Time (ET)America/New_YorkUTC-5 / UTC-4 DST
Central Time (CT)America/ChicagoUTC-6 / UTC-5 DST
Mountain Time (MT)America/DenverUTC-7 / UTC-6 DST
Mountain Time — AZAmerica/PhoenixUTC-7, no DST
Pacific Time (PT)America/Los_AngelesUTC-8 / UTC-7 DST
Alaska Time (AKT)America/AnchorageUTC-9 / UTC-8 DST
Hawaii Time (HT)Pacific/HonoluluUTC-10, no DST
Atlantic Time (AT)America/HalifaxUTC-4 / UTC-3 DST
Newfoundland Time (NT)America/St_JohnsUTC-3:30 / UTC-2:30 DST
London (GMT/BST)Europe/LondonUTC+0 / UTC+1 DST
Berlin (CET/CEST)Europe/BerlinUTC+1 / UTC+2 DST
Sydney (AEDT/AEST)Australia/SydneyUTC+11 / UTC+10
Tokyo (JST)Asia/TokyoUTC+9, no DST
New Delhi (IST)Asia/KolkataUTC+5:30, no DST
UTCUTCUTC+0
🗄️

Database Overview

Soren uses SQLite stored at data/soren.db. All tables are created automatically on startup — no manual setup required. New columns added in updates are applied via ALTER TABLE migrations so you never need to wipe your database.

guild_config

Per-server settings — Event Creator role, premium status, Google Calendar token, and embed color.

events

All events created via /newevent. Includes recurrence rules, reminder config, and button label overrides.

rsvps

One row per user per event. Cascades on event delete. Tracks accepted, declined, and tentative statuses.

gcal_integrations

Connected Google Calendars for the G-Cal Integrations feature. Each has its own OAuth token and posting schedule.

redeemed_codes

Tracks which premium codes have been used. Prevents double-redemption. Valid codes live in premium_keys.txt, not here.