Ver Fonte

feat(util): add UserAgent field to Config (#41)

* feat(util): add UserAgent to Config

* feat(util): add UserAgent field to Config
rigormorrtiss há 4 anos atrás
pai
commit
ba336aebc5
4 ficheiros alterados com 24 adições e 30 exclusões
  1. 2 8
      discordo.go
  2. 2 2
      go.mod
  3. 8 15
      go.sum
  4. 12 5
      util/config.go

+ 2 - 8
discordo.go

@@ -29,10 +29,7 @@ var (
 
 func main() {
 	config = util.NewConfig()
-
-	if config.Theme != nil {
-		tview.Styles = *config.Theme
-	}
+	tview.Styles = config.Theme
 
 	app = tview.NewApplication().
 		EnableMouse(config.Mouse).
@@ -240,10 +237,7 @@ func newSession() *discordgo.Session {
 		panic(err)
 	}
 
-	s.UserAgent = "" +
-		"Mozilla/5.0 (X11; Linux x86_64) " +
-		"AppleWebKit/537.36 (KHTML, like Gecko) " +
-		"Chrome/92.0.4515.131 Safari/537.36"
+	s.UserAgent = config.UserAgent
 	s.Identify.Compress = false
 	s.Identify.Intents = 0
 	s.Identify.LargeThreshold = 0

+ 2 - 2
go.mod

@@ -4,8 +4,8 @@ go 1.16
 
 require (
 	github.com/atotto/clipboard v0.1.4
-	github.com/gdamore/tcell/v2 v2.4.0
+	github.com/gdamore/tcell/v2 v2.4.1-0.20210904044819-ae5116d72813
 	github.com/rigormorrtiss/discordgo v0.23.3-0.20210821171441-1f1f1a283940
-	github.com/rivo/tview v0.0.0-20210624165335-29d673af0ce2
+	github.com/rivo/tview v0.0.0-20210904173154-2f13f81dcb15
 	github.com/zalando/go-keyring v0.1.1
 )

+ 8 - 15
go.sum

@@ -8,30 +8,23 @@ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/gdamore/encoding v1.0.0 h1:+7OoQ1Bc6eTm5niUzBa0Ctsh6JbMW6Ra+YNuAtDBdko=
 github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo5dl+VrEg=
-github.com/gdamore/tcell/v2 v2.3.3/go.mod h1:cTTuF84Dlj/RqmaCIV5p4w8uG1zWdk0SF6oBpwHp4fU=
-github.com/gdamore/tcell/v2 v2.4.0 h1:W6dxJEmaxYvhICFoTY3WrLLEXsQ11SaFnKGVEXW57KM=
-github.com/gdamore/tcell/v2 v2.4.0/go.mod h1:cTTuF84Dlj/RqmaCIV5p4w8uG1zWdk0SF6oBpwHp4fU=
+github.com/gdamore/tcell/v2 v2.4.1-0.20210904044819-ae5116d72813 h1:uqlt4EHPdtAAXKBq6OKc0auHsQP5zfhdHo/BYe6hz2Q=
+github.com/gdamore/tcell/v2 v2.4.1-0.20210904044819-ae5116d72813/go.mod h1:Az6Jt+M5idSED2YPGtwnfJV0kXohgdCBPmHGSYc1r04=
 github.com/godbus/dbus/v5 v5.0.3 h1:ZqHaoEF7TBzh4jzPmqVhE/5A1z9of6orkAe5uHoAeME=
 github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
 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/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
 github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY=
 github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
-github.com/mattn/go-runewidth v0.0.10 h1:CoZ3S2P7pvtP45xOtBw+/mDL2z0RKI576gSkzRRpdGg=
-github.com/mattn/go-runewidth v0.0.10/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk=
+github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
+github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rigormorrtiss/discordgo v0.23.3-0.20210821163811-db65d56a4b18 h1:D0sC2reaRk7X1bxOItwZZQYVxSPPeRKXSJ7uXZkAv2c=
-github.com/rigormorrtiss/discordgo v0.23.3-0.20210821163811-db65d56a4b18/go.mod h1:Gyt2AvlO/hpjiDzHiTBknKGgwL/dTL+BHbiNXdXE5bU=
-github.com/rigormorrtiss/discordgo v0.23.3-0.20210821170026-7f73e903f58c h1:SAkw14xJXJFTBmQVu0n5dkOzEgAhKBqIys/KZC590x8=
-github.com/rigormorrtiss/discordgo v0.23.3-0.20210821170026-7f73e903f58c/go.mod h1:Gyt2AvlO/hpjiDzHiTBknKGgwL/dTL+BHbiNXdXE5bU=
 github.com/rigormorrtiss/discordgo v0.23.3-0.20210821171441-1f1f1a283940 h1:Qg0MhvFI7Mg4Za9/Htou4y3nDaU0uABMYRys4U1WK4g=
 github.com/rigormorrtiss/discordgo v0.23.3-0.20210821171441-1f1f1a283940/go.mod h1:Gyt2AvlO/hpjiDzHiTBknKGgwL/dTL+BHbiNXdXE5bU=
-github.com/rivo/tview v0.0.0-20210624165335-29d673af0ce2 h1:I5N0WNMgPSq5NKUFspB4jMJ6n2P0ipz5FlOlB4BXviQ=
-github.com/rivo/tview v0.0.0-20210624165335-29d673af0ce2/go.mod h1:IxQujbYMAh4trWr0Dwa8jfciForjVmxyHpskZX6aydQ=
-github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
+github.com/rivo/tview v0.0.0-20210904173154-2f13f81dcb15 h1:p35+RodnbYZDDXbuISWCm3WPo/lA/qQMSSA0+J+Xd98=
+github.com/rivo/tview v0.0.0-20210904173154-2f13f81dcb15/go.mod h1:NpihEwB0BMEMry10psTJveTy9b5l3GMVwBuVpKR3Jo0=
 github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
 github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
 github.com/stretchr/objx v0.1.0 h1:4G4v2dO3VZwixGIRoQ5Lfboy6nUhCyYzaqnIAPPhYs4=
@@ -53,8 +46,8 @@ golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d h1:SZxvLBoTP5yHO3Frd4z4vrF+
 golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=

+ 12 - 5
util/config.go

@@ -10,17 +10,24 @@ import (
 // Config consists of fields, such as theme, mouse, so on, that may be
 // customized by the user.
 type Config struct {
-	Token            string       `json:"token,omitempty"`
-	Mouse            bool         `json:"mouse,omitempty"`
-	GetMessagesLimit int          `json:"getMessagesLimit,omitempty"`
-	Theme            *tview.Theme `json:"theme,omitempty"`
+	Token            string      `json:"token"`
+	Mouse            bool        `json:"mouse"`
+	UserAgent        string      `json:"userAgent"`
+	GetMessagesLimit int         `json:"getMessagesLimit"`
+	Theme            tview.Theme `json:"theme"`
 }
 
 // NewConfig reads the configuration file (if exists) and returns a new config.
 func NewConfig() *Config {
 	c := Config{
-		Mouse:            true,
+		Token: "",
+		Mouse: true,
+		UserAgent: "" +
+			"Mozilla/5.0 (X11; Linux x86_64) " +
+			"AppleWebKit/537.36 (KHTML, like Gecko) " +
+			"Chrome/92.0.4515.131 Safari/537.36",
 		GetMessagesLimit: 50,
+		Theme:            tview.Styles,
 	}
 
 	userHomeDir, err := os.UserHomeDir()