Meridian

A persistent world-clock board for your community.

Public

Meridian is a persistent world-clock board for Discord communities. It keeps an auto-refreshing embed in a channel showing the current time across every configured location.

Working-hours indicators make it obvious who is awake, event-countdown boards keep launches and raids on schedule, and DST changes are handled automatically, with UTC kept as the central scheduling reference.

Key features

  • Persistent per-channel world-clock board
  • Auto-refresh on a configurable interval
  • Working-hours indicators per location
  • Event-countdown boards
  • Automatic DST handling, UTC as the anchor

How it's built

Meridian is a Python, discord.py, FastAPI application, running on opi5-cluster and deployed via ArgoCD.

Meridian in Action

Meridian in action
Meridian in action.

Get started

Add Meridian to your server with the button above, or join the Discord for help and updates.

How to use

Meridian ships slash commands under a /meridian group: board management, timezone configuration, working-hours indicators, and event countdowns. All commands require Manage Server.

/meridian create Admin only

Create a new Meridian board in this channel.

/meridian delete Admin only

Delete the Meridian board in this channel.

/meridian refresh Admin only

Force an immediate board refresh. Useful after changing timezones.

/meridian timezone add Admin only

Add a timezone to the board via the guided picker.

/meridian timezone remove Admin only

Remove a timezone from the board.

/meridian working-hours on Admin only

Enable working-hours indicators (green/red dots) for the configured hours.

  • start Working hours start hour (0–23, default 8)
  • end Working hours end hour (0–23, default 18)
/meridian working-hours off Admin only

Disable working-hours indicators.

/meridian format Admin only

Configure the time format used on the board (12h / 24h).

/meridian event create Admin only

Create a new event-countdown board that ticks down to a target datetime.

  • name required The event name (e.g. "Crazy Joe")
  • event_time required Event time in UTC (YYYY-MM-DD HH:MM) e.g. 2026-07-18 20:00
  • channel required The text channel to post the event board in
  • expiry Minutes to keep the board after the event starts (1–1440, default 5)