Versions in this module Expand all Collapse all v0 v0.9.0 May 24, 2020 Changes in this version + const AttachmentSpoilerPrefix + var APIPath = "/api/v" + APIVersion + var APIVersion = "6" + var BaseEndpoint = "https://discord.com" + var Endpoint = BaseEndpoint + APIPath + "/" + var EndpointAuth = Endpoint + "auth/" + var EndpointChannels = Endpoint + "channels/" + var EndpointGateway = Endpoint + "gateway" + var EndpointGatewayBot = EndpointGateway + "/bot" + var EndpointGuilds = Endpoint + "guilds/" + var EndpointInvites = Endpoint + "invites/" + var EndpointLogin = EndpointAuth + "login" + var EndpointMe = EndpointUsers + "@me" + var EndpointTOTP = EndpointAuth + "mfa/totp" + var EndpointUsers = Endpoint + "users/" + var EndpointWebhooks = Endpoint + "webhooks/" + var ErrEmptyMessage = errors.New("message is empty") + var ErrInvalidImageCT = errors.New("unknown image content-type") + var ErrInvalidImageData = errors.New("invalid image data") + var UserAgent = "DiscordBot (https://github.com/diamondburned/arikawa, v0.0.1)" + type Ack struct + Token string + type AddMemberData struct + Deaf option.Bool + Mute option.Bool + Nick option.String + Roles *[]discord.Snowflake + Token string + type AllowedMentionType string + const AllowEveryoneMention + const AllowRoleMention + const AllowUserMention + type AllowedMentions struct + Parse []AllowedMentionType + Roles []discord.Snowflake + Users []discord.Snowflake + func (am AllowedMentions) Verify() error + type AuditLogData struct + ActionType discord.AuditLogEvent + Before discord.Snowflake + Limit uint + UserID discord.Snowflake + type BanData struct + DeleteDays option.Uint + Reason option.String + type Client struct + func NewClient(token string) *Client + func NewCustomClient(token string, httpClient *httputil.Client) *Client + func (c *Client) Ack(channelID, messageID discord.Snowflake, ack *Ack) error + func (c *Client) AddMember(guildID, userID discord.Snowflake, data AddMemberData) (*discord.Member, error) + func (c *Client) AddRecipient(channelID, userID discord.Snowflake, accessToken, nickname string) error + func (c *Client) AddRole(guildID, userID, roleID discord.Snowflake) error + func (c *Client) AttachIntegration(guildID, integrationID discord.Snowflake, integrationType discord.Service) error + func (c *Client) AuditLog(guildID discord.Snowflake, data AuditLogData) (*discord.AuditLog, error) + func (c *Client) Ban(guildID, userID discord.Snowflake, data BanData) error + func (c *Client) Bans(guildID discord.Snowflake) ([]discord.Ban, error) + func (c *Client) ChangeOwnNickname(guildID discord.Snowflake, nick string) error + func (c *Client) Channel(channelID discord.Snowflake) (*discord.Channel, error) + func (c *Client) ChannelInvites(channelID discord.Snowflake) ([]discord.Invite, error) + func (c *Client) ChannelWebhooks(channelID discord.Snowflake) ([]discord.Webhook, error) + func (c *Client) Channels(guildID discord.Snowflake) ([]discord.Channel, error) + func (c *Client) CreateChannel(guildID discord.Snowflake, data CreateChannelData) (*discord.Channel, error) + func (c *Client) CreateEmoji(guildID discord.Snowflake, data CreateEmojiData) (*discord.Emoji, error) + func (c *Client) CreateGuild(data CreateGuildData) (*discord.Guild, error) + func (c *Client) CreateInvite(channelID discord.Snowflake, data CreateInviteData) (*discord.Invite, error) + func (c *Client) CreatePrivateChannel(recipientID discord.Snowflake) (*discord.Channel, error) + func (c *Client) CreateRole(guildID discord.Snowflake, data CreateRoleData) (*discord.Role, error) + func (c *Client) CreateWebhook(channelID discord.Snowflake, name string, avatar discord.Hash) (*discord.Webhook, error) + func (c *Client) DeleteAllReactions(channelID, messageID discord.Snowflake) error + func (c *Client) DeleteChannel(channelID discord.Snowflake) error + func (c *Client) DeleteChannelPermission(channelID, overwriteID discord.Snowflake) error + func (c *Client) DeleteEmoji(guildID, emojiID discord.Snowflake) error + func (c *Client) DeleteGuild(id discord.Snowflake) error + func (c *Client) DeleteInvite(code string) (*discord.Invite, error) + func (c *Client) DeleteMessage(channelID, messageID discord.Snowflake) error + func (c *Client) DeleteMessages(channelID discord.Snowflake, messageIDs []discord.Snowflake) error + func (c *Client) DeleteReactions(channelId, messageID discord.Snowflake, emoji Emoji) error + func (c *Client) DeleteRole(guildID, roleID discord.Snowflake) error + func (c *Client) DeleteUserReaction(channelID, messageID, userID discord.Snowflake, emoji Emoji) error + func (c *Client) DeleteWebhook(webhookID discord.Snowflake) error + func (c *Client) DeleteWebhookWithToken(webhookID discord.Snowflake, token string) error + func (c *Client) EditChannelPermission(channelID discord.Snowflake, overwrite discord.Overwrite) error + func (c *Client) EditEmbed(channelID, messageID discord.Snowflake, embed discord.Embed) (*discord.Message, error) + func (c *Client) EditMessage(channelID, messageID discord.Snowflake, content string, embed *discord.Embed, ...) (*discord.Message, error) + func (c *Client) EditMessageComplex(channelID, messageID discord.Snowflake, data EditMessageData) (*discord.Message, error) + func (c *Client) EditText(channelID, messageID discord.Snowflake, content string) (*discord.Message, error) + func (c *Client) Emoji(guildID, emojiID discord.Snowflake) (*discord.Emoji, error) + func (c *Client) Emojis(guildID discord.Snowflake) ([]discord.Emoji, error) + func (c *Client) ExecuteWebhook(webhookID discord.Snowflake, token string, wait bool, data ExecuteWebhookData) (*discord.Message, error) + func (c *Client) GetBan(guildID, userID discord.Snowflake) (*discord.Ban, error) + func (c *Client) Guild(id discord.Snowflake) (*discord.Guild, error) + func (c *Client) GuildImage(guildID discord.Snowflake, img GuildImageStyle) (io.ReadCloser, error) + func (c *Client) GuildImageURL(guildID discord.Snowflake, img GuildImageStyle) string + func (c *Client) GuildInvites(guildID discord.Snowflake) ([]discord.Invite, error) + func (c *Client) GuildPreview(id discord.Snowflake) (*discord.GuildPreview, error) + func (c *Client) GuildVanityURL(guildID discord.Snowflake) (*discord.Invite, error) + func (c *Client) GuildWebhooks(guildID discord.Snowflake) ([]discord.Webhook, error) + func (c *Client) GuildWidget(guildID discord.Snowflake) (*discord.GuildWidget, error) + func (c *Client) GuildWithCount(id discord.Snowflake) (*discord.Guild, error) + func (c *Client) Guilds(limit uint) ([]discord.Guild, error) + func (c *Client) GuildsAfter(after discord.Snowflake, limit uint) ([]discord.Guild, error) + func (c *Client) GuildsBefore(before discord.Snowflake, limit uint) ([]discord.Guild, error) + func (c *Client) Integrations(guildID discord.Snowflake) ([]discord.Integration, error) + func (c *Client) Invite(code string) (*discord.Invite, error) + func (c *Client) InviteWithCounts(code string) (*discord.Invite, error) + func (c *Client) Kick(guildID, userID discord.Snowflake) error + func (c *Client) LeaveGuild(id discord.Snowflake) error + func (c *Client) Login(email, password string) (*LoginResponse, error) + func (c *Client) Me() (*discord.User, error) + func (c *Client) Member(guildID, userID discord.Snowflake) (*discord.Member, error) + func (c *Client) Members(guildID discord.Snowflake, limit uint) ([]discord.Member, error) + func (c *Client) MembersAfter(guildID, after discord.Snowflake, limit uint) ([]discord.Member, error) + func (c *Client) Message(channelID, messageID discord.Snowflake) (*discord.Message, error) + func (c *Client) Messages(channelID discord.Snowflake, limit uint) ([]discord.Message, error) + func (c *Client) MessagesAfter(channelID, after discord.Snowflake, limit uint) ([]discord.Message, error) + func (c *Client) MessagesAround(channelID, around discord.Snowflake, limit uint) ([]discord.Message, error) + func (c *Client) MessagesBefore(channelID, before discord.Snowflake, limit uint) ([]discord.Message, error) + func (c *Client) ModifyChannel(channelID discord.Snowflake, data ModifyChannelData) error + func (c *Client) ModifyEmoji(guildID, emojiID discord.Snowflake, data ModifyEmojiData) error + func (c *Client) ModifyGuild(id discord.Snowflake, data ModifyGuildData) (*discord.Guild, error) + func (c *Client) ModifyGuildWidget(guildID discord.Snowflake, data ModifyGuildWidgetData) (*discord.GuildWidget, error) + func (c *Client) ModifyIntegration(guildID, integrationID discord.Snowflake, data ModifyIntegrationData) error + func (c *Client) ModifyMe(data ModifySelfData) (*discord.User, error) + func (c *Client) ModifyMember(guildID, userID discord.Snowflake, data ModifyMemberData) error + func (c *Client) ModifyRole(guildID, roleID discord.Snowflake, data ModifyRoleData) (*discord.Role, error) + func (c *Client) ModifyWebhook(webhookID discord.Snowflake, data ModifyWebhookData) (*discord.Webhook, error) + func (c *Client) ModifyWebhookWithToken(webhookID discord.Snowflake, data ModifyWebhookData, token string) (*discord.Webhook, error) + func (c *Client) MoveChannel(guildID discord.Snowflake, datum []MoveChannelData) error + func (c *Client) MoveRole(guildID discord.Snowflake, data []MoveRoleData) ([]discord.Role, error) + func (c *Client) PinMessage(channelID, messageID discord.Snowflake) error + func (c *Client) PinnedMessages(channelID discord.Snowflake) ([]discord.Message, error) + func (c *Client) PrivateChannels() ([]discord.Channel, error) + func (c *Client) Prune(guildID discord.Snowflake, days uint) error + func (c *Client) PruneCount(guildID discord.Snowflake, days uint) (uint, error) + func (c *Client) PruneWithCount(guildID discord.Snowflake, days uint) (uint, error) + func (c *Client) React(channelID, messageID discord.Snowflake, emoji Emoji) error + func (c *Client) Reactions(channelID, messageID discord.Snowflake, limit uint, emoji Emoji) ([]discord.User, error) + func (c *Client) ReactionsAfter(channelID, messageID, after discord.Snowflake, limit uint, emoji Emoji) ([]discord.User, error) + func (c *Client) ReactionsBefore(channelID, messageID, before discord.Snowflake, limit uint, emoji Emoji) ([]discord.User, error) + func (c *Client) RemoveRecipient(channelID, userID discord.Snowflake) error + func (c *Client) RemoveRole(guildID, userID, roleID discord.Snowflake) error + func (c *Client) Roles(guildID discord.Snowflake) ([]discord.Role, error) + func (c *Client) SendEmbed(channelID discord.Snowflake, e discord.Embed) (*discord.Message, error) + func (c *Client) SendMessage(channelID discord.Snowflake, content string, embed *discord.Embed) (*discord.Message, error) + func (c *Client) SendMessageComplex(channelID discord.Snowflake, data SendMessageData) (*discord.Message, error) + func (c *Client) SendText(channelID discord.Snowflake, content string) (*discord.Message, error) + func (c *Client) SyncIntegration(guildID, integrationID discord.Snowflake) error + func (c *Client) TOTP(code, ticket string) (*LoginResponse, error) + func (c *Client) Typing(channelID discord.Snowflake) error + func (c *Client) Unban(guildID, userID discord.Snowflake) error + func (c *Client) UnpinMessage(channelID, messageID discord.Snowflake) error + func (c *Client) Unreact(chID, msgID discord.Snowflake, emoji Emoji) error + func (c *Client) User(userID discord.Snowflake) (*discord.User, error) + func (c *Client) UserConnections() ([]discord.Connection, error) + func (c *Client) VoiceRegionsGuild(guildID discord.Snowflake) ([]discord.VoiceRegion, error) + func (c *Client) Webhook(webhookID discord.Snowflake) (*discord.Webhook, error) + func (c *Client) WebhookWithToken(webhookID discord.Snowflake, token string) (*discord.Webhook, error) + func (c *Client) WithContext(ctx context.Context) *Client + type CreateChannelData struct + CategoryID discord.Snowflake + NSFW bool + Name string + Permissions []discord.Overwrite + Position option.Int + Topic string + Type discord.ChannelType + UserRateLimit discord.Seconds + VoiceBitrate uint + VoiceUserLimit uint + type CreateEmojiData struct + Image Image + Name string + Roles *[]discord.Snowflake + type CreateGuildData struct + AFKChannelID discord.Snowflake + AFKTimeout option.Seconds + Channels []discord.Channel + ExplicitFilter *discord.ExplicitFilter + Icon *Image + Name string + Notification *discord.Notification + Roles []discord.Role + SystemChannelID discord.Snowflake + Verification *discord.Verification + VoiceRegion string + type CreateInviteData struct + MaxAge option.Uint + MaxUses uint + Temporary bool + Unique bool + type CreateRoleData struct + Color discord.Color + Hoist bool + Mentionable bool + Name string + Permissions discord.Permissions + type CreateWebhookData struct + Avatar *Image + Name string + type EditMessageData struct + AllowedMentions *AllowedMentions + Content option.NullableString + Embed *discord.Embed + Flags *discord.MessageFlags + type Emoji = string + func NewCustomEmoji(id discord.Snowflake, name string) Emoji + type ErrImageTooLarge struct + Max int + Size int + func (err ErrImageTooLarge) Error() string + type ExecuteWebhookData struct + AllowedMentions *AllowedMentions + AvatarURL discord.URL + Content string + Embeds []discord.Embed + Files []SendMessageFile + TTS bool + Username string + func (data *ExecuteWebhookData) WriteMultipart(body *multipart.Writer) error + type GuildImageStyle string + const GuildBanner1 + const GuildBanner2 + const GuildBanner3 + const GuildBanner4 + const GuildShield + type Image struct + Content []byte + ContentType string + func DecodeImage(data []byte) (*Image, error) + func (i *Image) UnmarshalJSON(v []byte) error + func (i Image) Encode() ([]byte, error) + func (i Image) MarshalJSON() ([]byte, error) + func (i Image) Validate(maxSize int) error + type LoginResponse struct + MFA bool + SMS bool + Ticket string + Token string + type ModifyChannelData struct + CategoryID discord.Snowflake + NSFW option.NullableBool + Name string + Permissions *[]discord.Overwrite + Position option.NullableInt + Topic option.NullableString + Type *discord.ChannelType + UserRateLimit option.NullableUint + VoiceBitrate option.NullableUint + VoiceUserLimit option.NullableUint + type ModifyEmojiData struct + Name string + Roles *[]discord.Snowflake + type ModifyGuildData struct + AFKChannelID discord.Snowflake + AFKTimeout option.Seconds + Banner *Image + ExplicitFilter *discord.ExplicitFilter + Icon *Image + Name string + Notification *discord.Notification + OwnerID discord.Snowflake + PreferredLocale option.NullableString + PublicUpdatesChannelID discord.Snowflake + Region option.NullableString + RulesChannelID discord.Snowflake + Splash *Image + SystemChannelID discord.Snowflake + Verification *discord.Verification + type ModifyGuildWidgetData struct + ChannelID discord.Snowflake + Enabled option.Bool + type ModifyIntegrationData struct + EnableEmoticons option.NullableBool + ExpireBehavior *discord.ExpireBehavior + ExpireGracePeriod option.NullableInt + type ModifyMemberData struct + Deaf option.Bool + Mute option.Bool + Nick option.String + Roles *[]discord.Snowflake + VoiceChannel discord.Snowflake + type ModifyRoleData struct + Color option.NullableColor + Hoist option.NullableBool + Mentionable option.NullableBool + Name option.NullableString + Permissions *discord.Permissions + type ModifySelfData struct + Avatar *Image + Username option.String + type ModifyWebhookData struct + Avatar *Image + ChannelID discord.Snowflake + Name option.String + type MoveChannelData struct + ID discord.Snowflake + Position option.Int + type MoveRoleData struct + ID discord.Snowflake + Position option.NullableInt + type SendMessageData struct + AllowedMentions *AllowedMentions + Content string + Embed *discord.Embed + Files []SendMessageFile + Nonce string + TTS bool + func (data *SendMessageData) WriteMultipart(body *multipart.Writer) error + type SendMessageFile struct + Name string + Reader io.Reader + type Session struct + Limiter *rate.Limiter + Token string + UserAgent string + func (s *Session) InjectRequest(r httpdriver.Request) error + func (s *Session) OnResponse(r httpdriver.Request, resp httpdriver.Response) error