TrackEntry gets a QueueID generated once when a track is queued and kept for its whole life there, and musicrepo.ReplaceQueue now upserts by that ID instead of deleting and reinserting the whole queue on every sync (which churned every track's database id constantly, even ones that hadn't moved, and would've made remove/reorder commands target the wrong track). RemoveFromQueue and Reorder are new Manager functions built on top of that stable identity. Also adds repeat_song/ repeat_queue to the persisted now-playing state, and makes the two existing toggle functions actually sync it, they never did before.
28 lines
896 B
AMPL
28 lines
896 B
AMPL
module velox-bot
|
|
|
|
go 1.26.1
|
|
|
|
require (
|
|
github.com/bwmarrin/discordgo v0.29.0
|
|
github.com/disgoorg/disgolink/v3 v3.1.0
|
|
github.com/disgoorg/snowflake/v2 v2.0.3
|
|
github.com/fogleman/gg v1.3.0
|
|
github.com/jackc/pgx/v5 v5.8.0
|
|
github.com/joho/godotenv v1.5.1
|
|
golang.org/x/image v0.37.0
|
|
)
|
|
|
|
require (
|
|
github.com/disgoorg/json v1.2.0 // indirect
|
|
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/gorilla/websocket v1.5.3 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b // indirect
|
|
golang.org/x/sync v0.20.0 // indirect
|
|
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68 // indirect
|
|
golang.org/x/text v0.35.0 // indirect
|
|
)
|