From 6183c3f0303ce7908c059b4a55d526791575cb4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=CF=80Senpai?= <15636011+TopiSenpai@users.noreply.github.com> Date: Thu, 18 Aug 2022 21:22:41 +0200 Subject: [PATCH] feat(deps): update discord webhook library (#3320) This commit will update the discord webhook library. I deprecated https://github.com/DisgoOrg/disgohook a while ago and saw it being used here. The module was moved into https://github.com/disgoorg/disgo/tree/development/webhook disgohook had a few bugs which are resolved in the new module and also the new module should be nicer to use in general! --- go.mod | 9 +++++---- go.sum | 17 ++++++++++------- internal/pipe/discord/discord.go | 31 +++++++++++++++++-------------- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index 4a53a68d737..71042adc021 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,6 @@ go 1.19 require ( code.gitea.io/sdk/gitea v0.15.1 - github.com/DisgoOrg/disgohook v1.4.4 github.com/Masterminds/semver/v3 v3.1.1 github.com/atc0005/go-teams-notify/v2 v2.6.1 github.com/caarlos0/ctrlc v1.2.0 @@ -16,6 +15,8 @@ require ( github.com/charmbracelet/lipgloss v0.5.1-0.20220615005615-2e17a8a06096 github.com/dghubble/go-twitter v0.0.0-20211115160449-93a8679adecb github.com/dghubble/oauth1 v0.7.1 + github.com/disgoorg/disgo v0.13.16 + github.com/disgoorg/snowflake/v2 v2.0.0 github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible github.com/google/go-github/v45 v45.2.0 github.com/google/uuid v1.3.0 @@ -62,8 +63,6 @@ require ( github.com/Azure/go-autorest/autorest/validation v0.3.1 // indirect github.com/Azure/go-autorest/logger v0.2.1 // indirect github.com/Azure/go-autorest/tracing v0.6.0 // indirect - github.com/DisgoOrg/log v1.1.0 // indirect - github.com/DisgoOrg/restclient v1.2.8 // indirect github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/sprig v2.22.0+incompatible // indirect @@ -98,6 +97,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/dghubble/sling v1.4.0 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/disgoorg/log v1.2.0 // indirect github.com/emirpasic/gods v1.12.0 // indirect github.com/go-git/gcfg v1.5.0 // indirect github.com/go-git/go-billy/v5 v5.3.1 // indirect @@ -114,7 +114,7 @@ require ( github.com/googleapis/gax-go/v2 v2.4.0 // indirect github.com/googleapis/go-type-adapters v1.0.0 // indirect github.com/goreleaser/chglog v0.2.2 // indirect - github.com/gorilla/websocket v1.4.2 // indirect + github.com/gorilla/websocket v1.5.0 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-retryablehttp v0.7.1 // indirect github.com/hashicorp/go-version v1.2.1 // indirect @@ -138,6 +138,7 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/rivo/uniseg v0.2.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/sasha-s/go-csync v0.0.0-20210812194225-61421b77c44b // indirect github.com/sergi/go-diff v1.2.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/technoweenie/multipartstreamer v1.0.1 // indirect diff --git a/go.sum b/go.sum index af5207701a1..18421063cc4 100644 --- a/go.sum +++ b/go.sum @@ -128,12 +128,6 @@ github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBp github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ= -github.com/DisgoOrg/disgohook v1.4.4 h1:6xU+nRtyCYX7RyKvRnroJE8JMv+YIrQEMBDGUjBGDlQ= -github.com/DisgoOrg/disgohook v1.4.4/go.mod h1:l7r9dZgfkA3KiV+ErxqweKaknnskmzZO+SRTNHvJTUU= -github.com/DisgoOrg/log v1.1.0 h1:a6hLfVSDuTFJc5AKQ8FDYQ5TASnwk3tciUyXThm1CR4= -github.com/DisgoOrg/log v1.1.0/go.mod h1:Qihgz6fax3JCfuO7vxVavL0LyHS0sUdQ9OmykQ2fiQs= -github.com/DisgoOrg/restclient v1.2.8 h1:0Kv2g2bNYUvAAeIpJ1oNHorRcj5z6qkO2kOlm4R7cAs= -github.com/DisgoOrg/restclient v1.2.8/go.mod h1:2pc/htya/5kjxvWNYya98sb8B4mexobxmWvhTiWPt94= github.com/GoogleCloudPlatform/cloudsql-proxy v1.29.0/go.mod h1:spvB9eLJH9dutlbPSRmHvSXXHOwGRyeXh1jVdquA2G8= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= @@ -274,6 +268,12 @@ github.com/dghubble/sling v1.4.0/go.mod h1:0r40aNsU9EdDUVBNhfCstAtFgutjgJGYbO1oN github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/disgoorg/disgo v0.13.16 h1:vObm6rdJdA6plmruqGUmhmWcEfF0EdFelo1x7u+vjCA= +github.com/disgoorg/disgo v0.13.16/go.mod h1:Cyip4bCYHD3rHgDhBPT9cLo81e9AMbDe8ocM50UNRM4= +github.com/disgoorg/log v1.2.0 h1:sqlXnu/ZKAlIlHV9IO+dbMto7/hCQ474vlIdMWk8QKo= +github.com/disgoorg/log v1.2.0/go.mod h1:3x1KDG6DI1CE2pDwi3qlwT3wlXpeHW/5rVay+1qDqOo= +github.com/disgoorg/snowflake/v2 v2.0.0 h1:+xvyyDddXmXLHmiG8SZiQ3sdZdZPbUR22fSHoqwkrOA= +github.com/disgoorg/snowflake/v2 v2.0.0/go.mod h1:SPU9c2CNn5DSyb86QcKtdZgix9osEtKrHLW4rMhfLCs= github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg= github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o= @@ -448,8 +448,9 @@ github.com/goreleaser/fileglob v1.3.0/go.mod h1:Jx6BoXv3mbYkEzwm9THo7xbr5egkArax github.com/goreleaser/nfpm/v2 v2.18.1 h1:TuZQvnOLCXVv/wdDwS1luoQKRQo0vtjwP09YWcXMhR8= github.com/goreleaser/nfpm/v2 v2.18.1/go.mod h1:CCNOctcFfuzGLbaA8D4trDCa4xfSMtp9uoempUcG8gE= github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hanwen/go-fuse v1.0.0/go.mod h1:unqXarDXqzAk0rt98O2tVndEPIpUgLD9+rwFisZH3Ok= github.com/hanwen/go-fuse/v2 v2.1.0/go.mod h1:oRyA5eK+pvJyv5otpO/DgccS8y/RvYMaO00GgRLGryc= @@ -617,6 +618,8 @@ github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OK github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sasha-s/go-csync v0.0.0-20210812194225-61421b77c44b h1:qYTY2tN72LhgDj2rtWG+LI6TXFl2ygFQQ4YezfVaGQE= +github.com/sasha-s/go-csync v0.0.0-20210812194225-61421b77c44b/go.mod h1:/pA7k3zsXKdjjAiUhB5CjuKib9KJGCaLvZwtxGC8U0s= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/sergi/go-diff v1.2.0 h1:XU+rvMAioB0UC3q1MFrIQy4Vo5/4VsRDQQXHsEya6xQ= diff --git a/internal/pipe/discord/discord.go b/internal/pipe/discord/discord.go index 5c42ffa524b..3358cf0e589 100644 --- a/internal/pipe/discord/discord.go +++ b/internal/pipe/discord/discord.go @@ -4,10 +4,11 @@ import ( "fmt" "strconv" - "github.com/DisgoOrg/disgohook" - "github.com/DisgoOrg/disgohook/api" "github.com/caarlos0/env/v6" "github.com/caarlos0/log" + "github.com/disgoorg/disgo/discord" + "github.com/disgoorg/disgo/webhook" + "github.com/disgoorg/snowflake/v2" "github.com/goreleaser/goreleaser/internal/tmpl" "github.com/goreleaser/goreleaser/pkg/context" ) @@ -52,31 +53,33 @@ func (p Pipe) Announce(ctx *context.Context) error { } var cfg Config - if err := env.Parse(&cfg); err != nil { + if err = env.Parse(&cfg); err != nil { return fmt.Errorf("announce: failed to announce to discord: %w", err) } log.Infof("posting: '%s'", msg) - webhook, err := disgohook.NewWebhookClientByToken(nil, nil, fmt.Sprintf("%s/%s", cfg.WebhookID, cfg.WebhookToken)) + webhookID, err := snowflake.Parse(cfg.WebhookID) if err != nil { return fmt.Errorf("announce: failed to announce to discord: %w", err) } + color, err := strconv.Atoi(ctx.Config.Announce.Discord.Color) if err != nil { return fmt.Errorf("announce: failed to announce to discord: %w", err) } - if _, err = webhook.SendMessage(api.NewWebhookMessageCreateBuilder(). - AddEmbeds(api.Embed{ - Author: &api.EmbedAuthor{ - Name: &ctx.Config.Announce.Discord.Author, - IconURL: &ctx.Config.Announce.Discord.IconURL, + if _, err = webhook.New(webhookID, cfg.WebhookToken).CreateMessage(discord.WebhookMessageCreate{ + Embeds: []discord.Embed{ + { + Author: &discord.EmbedAuthor{ + Name: ctx.Config.Announce.Discord.Author, + IconURL: ctx.Config.Announce.Discord.IconURL, + }, + Description: msg, + Color: color, }, - Description: &msg, - Color: &color, - }). - Build(), - ); err != nil { + }, + }); err != nil { return fmt.Errorf("announce: failed to announce to discord: %w", err) } return nil