package api import ( "fmt" "log" "testing" "time" "github.com/diamondburned/arikawa/v2/discord" "github.com/diamondburned/arikawa/v2/internal/testenv" ) func TestIntegration(t *testing.T) { cfg := testenv.Must(t) client := NewClient("Bot " + cfg.BotToken) // Simple GET request u, err := client.Me() if err != nil { t.Fatal("Can't get self:", err) } log.Println("API user:", u.Username) // POST with URL param and paginator _, err = client.Guilds(100) if err != nil { t.Fatal("Can't get guilds:", err) } } var emojisToSend = [...]discord.APIEmoji{ "πŸ₯Ί", "❀", "πŸ˜‚", "πŸ₯°", "😊", "πŸ”₯", "βœ”", "πŸ‘", "😍", "🐻", "🀯", "πŸ”£", "πŸ”", "🎌", "πŸ‡―πŸ‡΅", "πŸŽ₯", "πŸ‡ΊπŸ‡Έ", "🌎", } func TestReactions(t *testing.T) { cfg := testenv.Must(t) client := NewClient("Bot " + cfg.BotToken) msg := fmt.Sprintf("This is a message sent at %v.", time.Now()) // Send a new message. m, err := client.SendMessage(cfg.ChannelID, msg, nil) if err != nil { t.Fatal("Failed to send message:", err) } now := time.Now() for _, emojiString := range emojisToSend { if err := client.React(cfg.ChannelID, m.ID, emojiString); err != nil { t.Fatal("Failed to send emoji "+emojiString+":", err) } } msg += fmt.Sprintf(" Total time taken to send all reactions: %v.", time.Now().Sub(now)) m, err = client.EditMessage(cfg.ChannelID, m.ID, msg, nil, false) if err != nil { t.Fatal("Failed to edit message:", err) } }