diff --git a/Cargo.lock b/Cargo.lock
index 5b35a14..259a30a 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2190,6 +2190,7 @@ dependencies = [
"atoi",
"byteorder",
"bytes",
+ "chrono",
"crc",
"crossbeam-queue",
"either",
@@ -2271,6 +2272,7 @@ dependencies = [
"bitflags 2.6.0",
"byteorder",
"bytes",
+ "chrono",
"crc",
"digest",
"dotenvy",
@@ -2312,6 +2314,7 @@ dependencies = [
"base64 0.22.1",
"bitflags 2.6.0",
"byteorder",
+ "chrono",
"crc",
"dotenvy",
"etcetera",
@@ -2347,6 +2350,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5b2cf34a45953bfd3daaf3db0f7a7878ab9b7a6b91b422d24a7a9e4c857b680"
dependencies = [
"atoi",
+ "chrono",
"flume",
"futures-channel",
"futures-core",
diff --git a/Cargo.toml b/Cargo.toml
index dbfd274..8bc6474 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -11,7 +11,7 @@ rand = "0.8.5"
clap = { version = "4.5.20", features = ["derive"] }
lamm = { git = "https://github.com/minneelyyyy/lamm", branch = "dev" }
regex = "1.11.1"
-sqlx = { version = "0.8", features = [ "runtime-tokio-native-tls", "postgres" ] }
+sqlx = { version = "0.8", features = [ "runtime-tokio-native-tls", "postgres", "chrono" ] }
hex_color = "3"
serde = { version = "1.0", features = ["derive"] }
serde_json = { version = "1.0", features = ["raw_value"] }
diff --git a/src/commands/gambling/daily.rs b/src/commands/gambling/daily.rs
index 6217ca4..8b47246 100644
--- a/src/commands/gambling/daily.rs
+++ b/src/commands/gambling/daily.rs
@@ -1,41 +1,132 @@
use crate::{Context, Error};
-use std::time::{Duration, Instant};
+use poise::serenity_prelude::UserId;
+use sqlx::{types::chrono::{DateTime, Local, TimeZone}, PgExecutor, Row};
-fn format_duration(duration: Duration) -> String {
- let total_seconds = duration.as_secs();
- let seconds = total_seconds % 60;
- let minutes = (total_seconds / 60) % 60;
- let hours = total_seconds / 3600;
+use std::time::Duration;
- format!("{:02}:{:02}:{:02}", hours, minutes, seconds)
+async fn get_streak<'a, E>(db: E, user: UserId) -> Result