Skip to content

snqwq/jamtime

Repository files navigation

Jamtime

Hackatime Badge Pycord Badge GitHub commit activity Black Badge Autism Badge

Discord bot for staying productive and timing game jams, projects, or really anything tbh

Written in python using the Pycord library

→ INVITE THE BOT HERE ←

Goals

v1.0 (first shipping release)

  • Basic timer functionality (start, stop, alerts, etc.)
  • Slash commands
  • Persistent timers
  • Subscription system (you can subscribe to other people's timers)
  • ID and short ID system for timers
  • Automatic notifications (half way and end)
  • Functions in dms
  • Functions in servers
  • ~24/7 uptime/officially hosted somewhere
  • Actually be useful
  • Sick logo
  • Awesome cool demo video didnt end up doing this (yet)

v2.0 (next shipping release)

  • Pomodoro timer
  • Customizable timer reminders (not just half way and end)
  • customizable timer messages (like "TIMER IS OVER!!!" or whatever the user wants)
  • Project functionality
  • Hackatime integration (for tracking time spent on projects)
  • Change database to not just be a json file (use sqlite or something)
  • Replace task system with a queue system and try to keep more stuff in memory
  • Statistics command
  • Timer pause/resume functionality
  • Timer notes/descriptions
  • Timer tags for organization
  • Timer searching
  • Scheduled timers (like "start timer at 3pm" or "start timer on 1st of January")
  • Natural language processing for timer commands (timer new 12 minutes, timer new 1879007624, timer new friday at 3pm, etc.)
  • Timer history (like "all timers last 5 weeks")
  • Todo system functionally similar to this repo

v3.0 (future shipping release)

  • Timer categories (game jam, project, etc.)
  • Timer types (stopwatch, repeating, countdown, etc.)
  • Itch.io integration for gamejams (kinda funny how like half of the name is jam and the jam feature is like a far future thing)
  • Google calendar integration (for scheduling timers)
  • Progress bars or other live visualizations of timers

Usage

Either join the testing server, invite the bot to your server, or dm it if you are in a server with it. Once you have done any of these you can use the slash commands!

Installation

only for if you want to run the bot yourself, otherwise you can just invite it to your server or dm it

requirements

  • Python 3.12.1 (might work on other versions, but not tested)
  • git (only if you want to clone the repo)
  1. Clone the repository and cd into it:

    git clone https://github.com/snqwq/jamtime.git
    cd jamtime
  2. Set up a virtual environment (optional but recommended):

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
  3. Install the required packages:

    pip install -r requirements.txt
  4. Create a .env file in the root directory and add the following lines:

    DISCORD_TOKEN=your_token_here
    IS_DEV=True  # Set to False for production mode
  5. Change any configs in config.py as needed (e.g., IS_DEV = False if you want to run in production mode or changing DB_PATH to a different location)

  6. Run the bot:

    python bot.py
  7. If you want to run the bot on startup on Linux, you can set that up using helpers/setup_linux.sh (make sure to run it with chmod +x helpers/setup_linux.sh first)

  8. Enjoy! 🎉

About

Discord bot for staying productive and timing game jams, projects, or really anything tbh

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •