Skip to content

Decrescent398/Zoneout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Features

  • Messy Time Recognition
    Advanced regex detects time mentions like 10 00AM, 7pm, 5:30 am, 8: 00PM, etc.

  • Timezone Auto-Conversion
    Replies to each user ephemerally with the time converted to their Slack-set timezone, including Daylight Saving Time adjustments.

  • Private and Clutter-Free
    Uses ephemeral messages --- no message flooding, only the intended user sees the converted time.


Known Limitations

  • Ambiguous Timezones Not Handled
    Timezones like ET or NZST are skipped due to conflicts (e.g., ET = Eastern Time or Egyptian Time).

  • No Conversion for Bots
    Bots don't have timezones set via the Slack API, so no conversions are sent to them.

  • No Replies in Threads
    The Slack API does not allow ephemeral message replies in threads, the bot however will to reply to all conversions in threads within the channel


Use Case

"Meeting at 9:30am tomorrow PST"
Every human user will get a private message showing the converted time in their own timezone, taking DST into account.


How It Works

  1. Listens to messages in real-time using Slack's Socket Mode.

  2. Parses timestamps using smart regex.

  3. For each human user in the thread or channel:

    • Fetches their timezone via Slack API.

    • Converts time using zoneinfo with DST awareness.

    • Replies with a clean ephemeral message.


Example Output

Original: "let's meet at 7:15pm PST today"

Ephemeral reply to Alice:
That's 10:15am JST today for you.

Ephemeral reply to Bob:
That's 6:15pm MST today for you.

About

Slack but to ensure synchronous time conversion across time zones through ephemeral messages

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages