61 lines
1.6 KiB
Go
61 lines
1.6 KiB
Go
package discord
|
|
|
|
import "encoding/json"
|
|
|
|
type User struct {
|
|
ID string `json:"id"`
|
|
Username string `json:"username"`
|
|
Discriminator string `json:"discriminator"`
|
|
Avatar string `json:"avatar"`
|
|
Bot bool `json:"bot"`
|
|
System bool `json:"system"`
|
|
Mfa_enabled bool `json:"mfa_enabled"`
|
|
Banner string `json:"banner"`
|
|
Accent_color int `json:"accent_color"`
|
|
Locale string `json:"locale"`
|
|
Verified bool `json:"verified"`
|
|
Email string `json:"email"`
|
|
Flags int `json:"flags"`
|
|
Premium_type int `json:"premium_type"`
|
|
Public_flags int `json:"public_flags"`
|
|
}
|
|
|
|
type SimpleUser struct {
|
|
ID string `json:"id"`
|
|
Username string `json:"username"`
|
|
Discriminator string `json:"discriminator"`
|
|
Avatar string `json:"avatar"`
|
|
Bot bool `json:"bot"`
|
|
Banner string `json:"banner"`
|
|
AccentColor int `json:"accent_color"`
|
|
Verified bool `json:"verified"`
|
|
}
|
|
|
|
func (u User) Simplify() SimpleUser {
|
|
return SimpleUser{
|
|
ID: u.ID,
|
|
Username: u.Username,
|
|
Discriminator: u.Discriminator,
|
|
Avatar: u.Avatar,
|
|
Bot: u.Bot,
|
|
Banner: u.Banner,
|
|
AccentColor: u.Accent_color,
|
|
Verified: u.Verified,
|
|
}
|
|
}
|
|
|
|
func (u User) MarshalBinary() ([]byte, error) {
|
|
return json.Marshal(u)
|
|
}
|
|
|
|
func (u *User) UnmarshalBinary(data []byte) error {
|
|
return json.Unmarshal(data, u)
|
|
}
|
|
|
|
func (u SimpleUser) MarshalBinary() ([]byte, error) {
|
|
return json.Marshal(u)
|
|
}
|
|
|
|
func (u *SimpleUser) UnmarshalBinary(data []byte) error {
|
|
return json.Unmarshal(data, u)
|
|
} |