func (r *Resource) Modify(ctx context.Context, username, avatar string) (*discord.User, error) {
	if r.userID != "@me" {
		return nil, discord.ErrNotCurrentUser
	}
	st := struct {
		Username string `json:"username"`
		Avatar   string `json:"avatar"`
	}{
		Username: username,
		Avatar:   avatar,
	}
	b, err := json.Marshal(st)
	if err != nil {
		return nil, err
	}
	e := endpoint.ModifyCurrentUser()
	resp, err := r.client.Do(ctx, e, rest.JSONPayload(b))
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	var u discord.User
	if err = json.NewDecoder(resp.Body).Decode(&u); err != nil {
		return nil, err
	}
	return &u, nil
}
Modify modifies the current user account settings.
Avatar is a Data URI scheme that supports JPG, GIF, and PNG formats.
An example Data URI format is:

data:image/jpeg;base64,BASE64_ENCODED_JPEG_IMAGE_DATA

Ensure you use the proper header type (image/jpeg, image/png, image/gif)
that matches the image data being provided.
package user
import (
	"context"
	"encoding/json"
	"net/http"
	"github.com/skwair/harmony/discord"
	"github.com/skwair/harmony/internal/endpoint"
	"github.com/skwair/harmony/internal/rest"
)
func (r *Resource) Get(ctx context.Context) (*discord.User, error) {
	e := endpoint.GetUser(r.userID)
	resp, err := r.client.Do(ctx, e, nil)
	if err != nil {
		return nil, err
	}
	defer resp.Body.Close()
	if resp.StatusCode != http.StatusOK {
		return nil, discord.NewAPIError(resp)
	}
	var u discord.User
	if err = json.NewDecoder(resp.Body).Decode(&u); err != nil {
		return nil, err
	}
	return &u, nil
}