From f2897d9b14dd86a8dc5f192bcd4424419b6bffdc Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 29 Nov 2024 20:14:34 +0200 Subject: [PATCH] client: load version number dynamically --- attachments.go | 9 ++++----- go.mod | 2 +- go.sum | 4 ++-- user.go | 10 ++++++++-- 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/attachments.go b/attachments.go index befef9e..15efbbd 100644 --- a/attachments.go +++ b/attachments.go @@ -70,15 +70,14 @@ func uploadDiscordAttachment(cli *http.Client, url string, data []byte) error { if err != nil { return err } - for key, value := range discordgo.DroidFetchHeaders { + for key, value := range discordgo.DroidBaseHeaders { req.Header.Set(key, value) } req.Header.Set("Content-Type", "application/octet-stream") req.Header.Set("Referer", "https://discord.com/") - req.Header.Del("X-Debug-Options") - req.Header.Del("X-Discord-Locale") - req.Header.Del("X-Discord-Timezone") - req.Header.Del("X-Super-Properties") + req.Header.Set("Sec-Fetch-Dest", "empty") + req.Header.Set("Sec-Fetch-Mode", "cors") + req.Header.Set("Sec-Fetch-Site", "cross-site") resp, err := cli.Do(req) if err != nil { diff --git a/go.mod b/go.mod index c6e4cee..b2c95a9 100644 --- a/go.mod +++ b/go.mod @@ -42,4 +42,4 @@ require ( maunium.net/go/mauflag v1.0.0 // indirect ) -replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20241129150404-0ddeff8635e8 +replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20241129181343-6f7633fc47bd diff --git a/go.sum b/go.sum index 978f572..4a67e07 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,7 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/beeper/discordgo v0.0.0-20241129150404-0ddeff8635e8 h1:pJeDjlzwk6z6XTC1N54QNdAplXlnQ+Er+tO6ogquj0Q= -github.com/beeper/discordgo v0.0.0-20241129150404-0ddeff8635e8/go.mod h1:59+AOzzjmL6onAh62nuLXmn7dJCaC/owDLWbGtjTcFA= +github.com/beeper/discordgo v0.0.0-20241129181343-6f7633fc47bd h1:wq/LmW+im+L5MTCxkIiRW6DYosEDuCoOqx8J7vkGucA= +github.com/beeper/discordgo v0.0.0-20241129181343-6f7633fc47bd/go.mod h1:59+AOzzjmL6onAh62nuLXmn7dJCaC/owDLWbGtjTcFA= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/user.go b/user.go index 63ede61..426da9d 100644 --- a/user.go +++ b/user.go @@ -555,8 +555,9 @@ func (user *User) Connect() error { InsecureSkipVerify: os.Getenv("DISCORD_SKIP_TLS_VERIFICATION") == "true", } session.Client.Transport = &http.Transport{ - Proxy: http.ProxyURL(u), - TLSClientConfig: tlsConf, + Proxy: http.ProxyURL(u), + TLSClientConfig: tlsConf, + ForceAttemptHTTP2: true, } session.Dialer.Proxy = http.ProxyURL(u) session.Dialer.TLSClientConfig = tlsConf @@ -576,6 +577,11 @@ func (user *User) Connect() error { } session.EventHandler = user.eventHandlerSync + err = session.LoadMainPage(context.TODO()) + if err != nil { + user.log.Warn().Err(err).Msg("Failed to load main page") + } + user.Session = session for {