From 52ad9e2febe3097c8d77d25cc53dc55af2b39758 Mon Sep 17 00:00:00 2001 From: Ammar Bandukwala Date: Fri, 7 Apr 2017 17:19:48 +0200 Subject: [PATCH] add String() method to User (#350) * add String() method to User * put User def in it's own file * remove usage of t.Run for support w/ older Go versions --- structs.go | 13 ------------- user.go | 23 +++++++++++++++++++++++ user_test.go | 16 ++++++++++++++++ 3 files changed, 39 insertions(+), 13 deletions(-) create mode 100644 user.go create mode 100644 user_test.go diff --git a/structs.go b/structs.go index 868add8..12463d6 100644 --- a/structs.go +++ b/structs.go @@ -337,19 +337,6 @@ type Member struct { Roles []string `json:"roles"` } -// A User stores all data for an individual Discord user. -type User struct { - ID string `json:"id"` - Email string `json:"email"` - Username string `json:"username"` - Avatar string `json:"avatar"` - Discriminator string `json:"discriminator"` - Token string `json:"token"` - Verified bool `json:"verified"` - MFAEnabled bool `json:"mfa_enabled"` - Bot bool `json:"bot"` -} - // A Settings stores data for a specific users Discord client settings. type Settings struct { RenderEmbeds bool `json:"render_embeds"` diff --git a/user.go b/user.go new file mode 100644 index 0000000..99fe501 --- /dev/null +++ b/user.go @@ -0,0 +1,23 @@ +package discordgo + +import ( + "fmt" +) + +// A User stores all data for an individual Discord user. +type User struct { + ID string `json:"id"` + Email string `json:"email"` + Username string `json:"username"` + Avatar string `json:"avatar"` + Discriminator string `json:"discriminator"` + Token string `json:"token"` + Verified bool `json:"verified"` + MFAEnabled bool `json:"mfa_enabled"` + Bot bool `json:"bot"` +} + +//String returns a unique identifier of the form username#discriminator +func (u *User) String() string { + return fmt.Sprintf("%s#%s", u.Username, u.Discriminator) +} diff --git a/user_test.go b/user_test.go new file mode 100644 index 0000000..a36f673 --- /dev/null +++ b/user_test.go @@ -0,0 +1,16 @@ +package discordgo + +import "testing" + +func TestUser(t *testing.T) { + t.Parallel() + + user := &User{ + Username: "bob", + Discriminator: "8192", + } + + if user.String() != "bob#8192" { + t.Errorf("user.String() == %v", user.String()) + } +}