api

package
v0.1.16-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 16, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	AFKChannelTimeout60   = AFKChannelTimeout(60)
	AFKChannelTimeout300  = AFKChannelTimeout(300)
	AFKChannelTimeout900  = AFKChannelTimeout(900)
	AFKChannelTimeout1800 = AFKChannelTimeout(1800)
	AFKChannelTimeout3600 = AFKChannelTimeout(3600)
)

Functions

This section is empty.

Types

type AFKChannelTimeout

type AFKChannelTimeout uint

type AllowedMentions

type AllowedMentions struct {
	Parse       []string       `json:"parse,omitempty"`
	Roles       []snowflake.ID `json:"roles,omitempty"`
	Users       []snowflake.ID `json:"users,omitempty"`
	RepliedUser bool           `json:"replied_user,omitempty"`
}

type ArchivedThreadList

type ArchivedThreadList struct {
	Threads []discord.Channel      `json:"threads,omitempty"`
	Members []discord.ThreadMember `json:"members,omitempty"`
	HasMore bool                   `json:"has_more,omitempty"`
}

type ArchivedThreadListParams

type ArchivedThreadListParams struct {
	Before discord.Timestamp
	Limit  uint
}

type BotGateway

type BotGateway struct {
	URL    string            `json:"url"`
	Shards uint16            `json:"shards"`
	Limit  SessionStartLimit `json:"session_start_limit"`
}

type CacheProxy

type CacheProxy interface {
	AddUser(users ...discord.User)
	AddChannel(channels ...discord.Channel)
}

type ChannelClient

type ChannelClient interface {
	JoinThread() error
	AddThreadMember(id snowflake.ID) error
	LeaveThread() error
	RemoveThreadMember(id snowflake.ID) error
	ThreadMember(id snowflake.ID, withMember bool) (discord.ThreadMember, error)
	AddRecipient(id snowflake.ID, userToken, userNickname string) error
	RemoveRecipient(id snowflake.ID) error
	Modify(params ModifyChannelParams, reason ...string) (discord.Channel, error)
	StartThread(data StartThreadWithoutMessageParams, reason ...string) (discord.Channel, error)
	StartForumMediaThread(data StartForumOrMediaThreadParams, reason ...string) (discord.Channel, error)
	UpdateChannelPermissions(id snowflake.ID, data UpdateChannelPermissionsParams, reason ...string) error
	DeleteChannelPermission(id snowflake.ID, reason ...string) error
	FollowAnnouncementChannel(webhook snowflake.ID, reason ...string) (discord.FollowedChannel, error)
	Pins() ([]discord.Message, error)
	Invites() ([]discord.Invite, error)
	CreateInvite(data CreateChannelInviteParams, reason ...string) (discord.Invite, error)
	Delete(reason ...string) error
	Webhooks() ([]discord.Webhook, error)
	CreateWebhook(params CreateWebhookParams, reason ...string) (discord.Webhook, error)
	Get() (dst discord.Channel, err error)
	SendMessage(params CreateMessageParams) (discord.Message, error)
	Messages() MessagesQuery
	Message(id snowflake.ID) MessageClient
	BulkDelete(messages []snowflake.ID, reason ...string) error
}

type ChannelResolver

type ChannelResolver struct {
	ID snowflake.ID
	// contains filtered or unexported fields
}

func (ChannelResolver) AddRecipient

func (c ChannelResolver) AddRecipient(id snowflake.ID, userToken, userNickname string) error

func (ChannelResolver) AddThreadMember

func (c ChannelResolver) AddThreadMember(id snowflake.ID) error

func (ChannelResolver) BulkDelete

func (c ChannelResolver) BulkDelete(messages []snowflake.ID, reason ...string) error

func (ChannelResolver) CreateInvite

func (c ChannelResolver) CreateInvite(data CreateChannelInviteParams, reason ...string) (discord.Invite, error)

func (ChannelResolver) CreateWebhook

func (c ChannelResolver) CreateWebhook(params CreateWebhookParams, reason ...string) (discord.Webhook, error)

func (ChannelResolver) Delete

func (c ChannelResolver) Delete(reason ...string) error

func (ChannelResolver) DeleteChannelPermission

func (c ChannelResolver) DeleteChannelPermission(id snowflake.ID, reason ...string) error

func (ChannelResolver) FollowAnnouncementChannel

func (c ChannelResolver) FollowAnnouncementChannel(webhook snowflake.ID, reason ...string) (discord.FollowedChannel, error)

func (ChannelResolver) Get

func (c ChannelResolver) Get() (dst discord.Channel, err error)

func (ChannelResolver) Invites

func (c ChannelResolver) Invites() ([]discord.Invite, error)

func (ChannelResolver) JoinThread

func (c ChannelResolver) JoinThread() error

func (ChannelResolver) LeaveThread

func (c ChannelResolver) LeaveThread() error

func (ChannelResolver) Message

func (c ChannelResolver) Message(id snowflake.ID) MessageClient

func (ChannelResolver) Messages

func (c ChannelResolver) Messages() MessagesQuery

func (ChannelResolver) Modify

func (c ChannelResolver) Modify(params ModifyChannelParams, reason ...string) (discord.Channel, error)

func (ChannelResolver) Pins

func (c ChannelResolver) Pins() ([]discord.Message, error)

func (ChannelResolver) RemoveRecipient

func (c ChannelResolver) RemoveRecipient(id snowflake.ID) error

func (ChannelResolver) RemoveThreadMember

func (c ChannelResolver) RemoveThreadMember(id snowflake.ID) error

func (ChannelResolver) SendMessage

func (c ChannelResolver) SendMessage(params CreateMessageParams) (discord.Message, error)

func (ChannelResolver) StartForumMediaThread

func (c ChannelResolver) StartForumMediaThread(data StartForumOrMediaThreadParams, reason ...string) (discord.Channel, error)

func (ChannelResolver) StartThread

func (c ChannelResolver) StartThread(data StartThreadWithoutMessageParams, reason ...string) (discord.Channel, error)

func (ChannelResolver) ThreadMember

func (c ChannelResolver) ThreadMember(id snowflake.ID, withMember bool) (discord.ThreadMember, error)

func (ChannelResolver) UpdateChannelPermissions

func (c ChannelResolver) UpdateChannelPermissions(id snowflake.ID, data UpdateChannelPermissionsParams, reason ...string) error

func (ChannelResolver) Webhooks

func (c ChannelResolver) Webhooks() ([]discord.Webhook, error)

type Client

type Client interface {
	Guild(id snowflake.ID) GuildClient
	Channel(id snowflake.ID) ChannelClient
	Slash() SlashClient
	User(id snowflake.ID) UserClient
	Stage(id snowflake.ID) StageClient
	ModifyCurrentUser(params ModifyCurrentUserParams) (discord.User, error)
	GatewayInfo() (BotGateway, error)
	GetCurrentUser() (discord.User, error)
	Interaction(id snowflake.ID, token string) InteractionClient
}

func NewClient

func NewClient(log golog.Logger, token string, opts ...ClientOption) Client

type ClientOption

type ClientOption func(c *client)

func WithCacheProxy

func WithCacheProxy(proxy CacheProxy) ClientOption

func WithUserID

func WithUserID(id snowflake.ID) ClientOption

type CreateChannelInviteParams

type CreateChannelInviteParams struct {
	MaxAge              *uint                     `json:"max_age,omitempty"`
	MaxUses             *uint                     `json:"max_uses,omitempty"`
	Temporary           bool                      `json:"temporary,omitempty"`
	Unique              bool                      `json:"unique,omitempty"`
	TargetType          *discord.InviteTargetType `json:"target_type,omitempty"`
	TargetUserID        snowflake.ID              `json:"target_user_id,omitempty"`
	TargetApplicationID snowflake.ID              `json:"target_application_id,omitempty"`
}

type CreateEmojiParams

type CreateEmojiParams struct {
	Name  string         `json:"name,omitempty"`
	Roles []snowflake.ID `json:"roles,omitempty"`
	Image []byte         `json:"image,omitempty"`
}

type CreateMessageParams

type CreateMessageParams struct {
	Content          string                    `json:"content,omitempty"`
	Nonce            string                    `json:"nonce,omitempty"`
	TTS              bool                      `json:"tts,omitempty"`
	Embeds           []discord.MessageEmbed    `json:"embeds,omitempty"`
	AllowedMentions  *AllowedMentions          `json:"allowed_mentions,omitempty"`
	MessageReference *discord.MessageReference `json:"message_reference,omitempty"`
	Components       discord.ActionRows        `json:"components,omitempty"`
	Attachments      []MessageFile             `json:"attachments,omitempty"`
	Flags            *discord.MessageFlag      `json:"flags,omitempty"`
	EnforceNonce     bool                      `json:"enforce_nonce,omitempty"`
	Poll             *PollCreateParams         `json:"poll,omitempty"`
}

type CreateRoleParams

type CreateRoleParams struct {
	Name         string              `json:"name,omitempty"`
	Permissions  *discord.Permission `json:"permissions,omitempty"`
	Color        *uint               `json:"color,omitempty"`
	Hoist        *bool               `json:"hoist,omitempty"`
	Icon         []byte              `json:"icon,omitempty"`
	UnicodeEmoji *string             `json:"unicode_emoji,omitempty"`
	Mentionable  *bool               `json:"mentionable,omitempty"`
}

type CreateScheduledEventParams

type CreateScheduledEventParams struct {
	ChannelID          snowflake.ID                       `json:"channel_id,omitempty"`
	EntityMetadata     *discord.ScheduledEventEntity      `json:"entity_metadata,omitempty"`
	Name               string                             `json:"name,omitempty"`
	PrivacyLevel       discord.ScheduledEventPrivacyLevel `json:"privacy_level,omitempty"`
	ScheduledStartTime *discord.Timestamp                 `json:"scheduled_start_time,omitempty"`
	ScheduledEndTime   *discord.Timestamp                 `json:"scheduled_end_time,omitempty"`
	Description        *string                            `json:"description,omitempty"`
	EntityType         discord.ScheduledEventEntityType   `json:"entity_type,omitempty"`
	Image              []byte                             `json:"image,omitempty"`
	// TODO
	RecurrenceRule any `json:"recurrence_rule,omitempty"`
}

type CreateStageInstanceParams

type CreateStageInstanceParams struct {
	ChannelID             snowflake.ID              `json:"channel_id,omitempty"`
	Topic                 string                    `json:"topic,omitempty"`
	PrivacyLevel          discord.StagePrivacyLevel `json:"privacy_level,omitempty"`
	SendStartNotification bool                      `json:"send_start_notification,omitempty"`
	GuildScheduledEventID snowflake.ID              `json:"guild_scheduled_event_id,omitempty"`
}

type CreateWebhookParams

type CreateWebhookParams struct {
	Name   string `json:"name,omitempty"`
	Avatar string `json:"avatar,omitempty"`
}

type EditMessageParams

type EditMessageParams struct {
	Content         *string                `json:"content,omitempty"`
	Embeds          []discord.MessageEmbed `json:"embeds,omitempty"`
	Flags           *discord.MessageFlag   `json:"flags,omitempty"`
	AllowedMentions *AllowedMentions       `json:"allowed_mentions,omitempty"`
	Components      discord.ActionRows     `json:"components,omitempty"`
	Attachments     []MessageFile          `json:"attachments,omitempty"`
}

type EmojiClient

type EmojiClient interface {
	Get() (discord.Emoji, error)
	Modify(params ModifyEmojiParams, reason ...string) (discord.Emoji, error)
	Delete(reason ...string) error
}

type EmojiResolver

type EmojiResolver struct {
	Guild snowflake.ID
	Emoji snowflake.ID
	// contains filtered or unexported fields
}

func (EmojiResolver) Delete

func (e EmojiResolver) Delete(reason ...string) error

func (EmojiResolver) Get

func (e EmojiResolver) Get() (discord.Emoji, error)

func (EmojiResolver) Modify

func (e EmojiResolver) Modify(params ModifyEmojiParams, reason ...string) (discord.Emoji, error)

type FollowUpClient

type FollowUpClient interface {
	Get() (discord.Message, error)
	Update(params EditMessageParams) (discord.Message, error)
	Delete() error
}

type FollowUpParams

type FollowUpParams struct {
	CreateMessageParams
	AppliedTags []snowflake.ID `json:"applied_tags,omitempty"`
	ThreadName  string         `json:"thread_name,omitempty"`
}

type FollowUpResolver

type FollowUpResolver struct {
	ID    snowflake.ID
	Token string
	// contains filtered or unexported fields
}

func (FollowUpResolver) Delete

func (f FollowUpResolver) Delete() error

func (FollowUpResolver) Get

func (FollowUpResolver) Update

type GuildActiveThreads

type GuildActiveThreads struct {
	Threads []discord.Channel
	Members []discord.ThreadMember
}

type GuildBanAddResponse

type GuildBanAddResponse struct {
	BannedUsers []snowflake.ID `json:"banned_users,omitempty"`
	FailedUsers []snowflake.ID `json:"failed_users,omitempty"`
}

type GuildChannelParams

type GuildChannelParams struct {
	Name                          *string                         `json:"name,omitempty"`
	Type                          *discord.ChannelType            `json:"type,omitempty"`
	Position                      *uint                           `json:"position,omitempty"`
	Topic                         *string                         `json:"topic,omitempty"`
	NSFW                          *bool                           `json:"nsfw,omitempty"`
	RateLimitPerUser              *uint                           `json:"rate_limit_per_user,omitempty"`
	Bitrate                       *uint                           `json:"bitrate,omitempty"`
	UserLimit                     *uint                           `json:"user_limit,omitempty"`
	PermissionOverwrite           []discord.PermissionOverwrite   `json:"permission_overwrite,omitempty"`
	ParentID                      *snowflake.ID                   `json:"parent_id,omitempty"`
	RTCRegion                     *string                         `json:"rtc_region,omitempty"`
	DefaultAutoArchiveDuration    *uint                           `json:"default_auto_archive_duration,omitempty"`
	Flags                         *discord.ChannelFlag            `json:"flags,omitempty"`
	AvailableTags                 []discord.ChannelTag            `json:"available_tags,omitempty"`
	DefaultReactionEmoji          *discord.ChannelDefaultReaction `json:"default_reaction_emoji,omitempty"`
	DefaultThreadRateLimitPerUser *uint                           `json:"default_thread_rate_limit_per_user,omitempty"`
	DefaultSortOrder              *discord.ChannelSortOrder       `json:"default_sort_order,omitempty"`
	DefaultForumLayout            *discord.ChannelForumLayout     `json:"default_forum_layout,omitempty"`
}

type GuildChannelPosition

type GuildChannelPosition struct {
	ID              snowflake.ID  `json:"id,omitempty"`
	Position        uint          `json:"position,omitempty"`
	LockPermissions bool          `json:"lock_permissions,omitempty"`
	ParentID        *snowflake.ID `json:"parent_id,omitempty"`
}

type GuildClient

type GuildClient interface {
	UpdateChannelPositions(positions []GuildChannelPosition, reason ...string) error
	UpdateRolePositions(positions []GuildRolePosition, reason ...string) error
	CreateChannel(params GuildChannelParams, reason ...string) (discord.Channel, error)
	Get() (discord.Guild, error)
	Modify(params ModifyGuildParams, reason ...string) (discord.Guild, error)
	Delete(reason ...string) error
	Channels() ([]discord.Channel, error)
	ActiveThreads() ([]discord.Channel, error)
	Member(id snowflake.ID) MemberClient
	Members(params GuildMembersParams) ([]discord.Member, error)
	Search(query string, limit ...uint) ([]discord.Member, error)
	ModifyCurrentMember(nick string, reason ...string) (discord.Member, error)
	BulkBan(ids []snowflake.ID, seconds uint, reason ...string) (GuildBanAddResponse, error)
	Roles() ([]discord.Role, error)
	Role(id snowflake.ID) RoleClient
	CreateRole(params CreateRoleParams, reason ...string) (discord.Role, error)
	CurrentUserVoiceState() (discord.VoiceState, error)
	ModifyCurrentUserVoiceState(params ModifyCurrentUserVoiceStateParams) (discord.VoiceState, error)
	Emojis() ([]discord.Emoji, error)
	Emoji(id snowflake.ID) EmojiClient
	CreateEmoji(params CreateEmojiParams, reason ...string) (discord.Emoji, error)
	Events() ([]discord.ScheduledEvent, error)
	CreateEvent(params CreateScheduledEventParams, reason ...string) (discord.ScheduledEvent, error)
	Event(id snowflake.ID) GuildEventClient
}

type GuildEventClient

type GuildEventClient interface {
	Get(withUserCount bool) (discord.ScheduledEvent, error)
	Modify(params ModifyScheduledEventParams, reason ...string) (discord.ScheduledEvent, error)
	Delete(reason ...string) error
	Users() GuildEventQuery
}

type GuildEventQuery

type GuildEventQuery interface {
	Before(id snowflake.ID, withMember bool, limit uint) ([]ScheduledEventUser, error)
	After(id snowflake.ID, withMember bool, limit uint) ([]ScheduledEventUser, error)
	Latest(withMember bool, limit uint) ([]ScheduledEventUser, error)
}

type GuildEventQueryResolver

type GuildEventQueryResolver struct {
	Guild snowflake.ID
	Event snowflake.ID
	// contains filtered or unexported fields
}

func (GuildEventQueryResolver) After

func (g GuildEventQueryResolver) After(id snowflake.ID, withMember bool, limit uint) ([]ScheduledEventUser, error)

func (GuildEventQueryResolver) Before

func (g GuildEventQueryResolver) Before(id snowflake.ID, withMember bool, limit uint) ([]ScheduledEventUser, error)

func (GuildEventQueryResolver) Latest

func (g GuildEventQueryResolver) Latest(withMember bool, limit uint) ([]ScheduledEventUser, error)

type GuildEventResolver

type GuildEventResolver struct {
	Guild snowflake.ID
	Event snowflake.ID
	// contains filtered or unexported fields
}

func (GuildEventResolver) Delete

func (g GuildEventResolver) Delete(reason ...string) error

func (GuildEventResolver) Get

func (g GuildEventResolver) Get(withUserCount bool) (discord.ScheduledEvent, error)

func (GuildEventResolver) Modify

func (GuildEventResolver) Users

type GuildMembersParams

type GuildMembersParams struct {
	Limit uint
	After snowflake.ID
}

type GuildResolver

type GuildResolver struct {
	ID snowflake.ID
	// contains filtered or unexported fields
}

func (GuildResolver) ActiveThreads

func (g GuildResolver) ActiveThreads() ([]discord.Channel, error)

func (GuildResolver) BulkBan

func (g GuildResolver) BulkBan(ids []snowflake.ID, seconds uint, reason ...string) (GuildBanAddResponse, error)

func (GuildResolver) Channels

func (g GuildResolver) Channels() ([]discord.Channel, error)

func (GuildResolver) CreateChannel

func (u GuildResolver) CreateChannel(params GuildChannelParams, reason ...string) (discord.Channel, error)

func (GuildResolver) CreateEmoji

func (g GuildResolver) CreateEmoji(params CreateEmojiParams, reason ...string) (discord.Emoji, error)

func (GuildResolver) CreateEvent

func (g GuildResolver) CreateEvent(params CreateScheduledEventParams, reason ...string) (discord.ScheduledEvent, error)

func (GuildResolver) CreateRole

func (g GuildResolver) CreateRole(params CreateRoleParams, reason ...string) (discord.Role, error)

func (GuildResolver) CurrentUserVoiceState

func (g GuildResolver) CurrentUserVoiceState() (discord.VoiceState, error)

func (GuildResolver) Delete

func (g GuildResolver) Delete(reason ...string) error

func (GuildResolver) Emoji

func (g GuildResolver) Emoji(id snowflake.ID) EmojiClient

func (GuildResolver) Emojis

func (g GuildResolver) Emojis() ([]discord.Emoji, error)

func (GuildResolver) Event

func (GuildResolver) Events

func (g GuildResolver) Events() ([]discord.ScheduledEvent, error)

func (GuildResolver) Get

func (u GuildResolver) Get() (discord.Guild, error)

func (GuildResolver) Member

func (g GuildResolver) Member(id snowflake.ID) MemberClient

func (GuildResolver) Members

func (g GuildResolver) Members(params GuildMembersParams) ([]discord.Member, error)

func (GuildResolver) Modify

func (g GuildResolver) Modify(params ModifyGuildParams, reason ...string) (discord.Guild, error)

func (GuildResolver) ModifyCurrentMember

func (g GuildResolver) ModifyCurrentMember(nick string, reason ...string) (discord.Member, error)

func (GuildResolver) ModifyCurrentUserVoiceState

func (g GuildResolver) ModifyCurrentUserVoiceState(params ModifyCurrentUserVoiceStateParams) (discord.VoiceState, error)

func (GuildResolver) Role

func (g GuildResolver) Role(id snowflake.ID) RoleClient

func (GuildResolver) Roles

func (g GuildResolver) Roles() ([]discord.Role, error)

func (GuildResolver) Search

func (g GuildResolver) Search(query string, limit ...uint) ([]discord.Member, error)

func (GuildResolver) UpdateChannelPositions

func (u GuildResolver) UpdateChannelPositions(positions []GuildChannelPosition, reason ...string) error

func (GuildResolver) UpdateRolePositions

func (u GuildResolver) UpdateRolePositions(positions []GuildRolePosition, reason ...string) error

type GuildRolePosition

type GuildRolePosition struct {
	ID       snowflake.ID `json:"id,omitempty"`
	Position uint         `json:"position,omitempty"`
}

type GuildSlashCommandClient

type GuildSlashCommandClient interface {
	PermissionList() ([]discord.CommandPermissions, error)
	List() ([]discord.Command, error)
	Create(params discord.CreateCommand) (discord.Command, error)
	Bulk(cmds []discord.CreateCommand) ([]discord.Command, error)
	Command(id snowflake.ID) SlashCommandClient
}

type GuildSlashCommandResolver

type GuildSlashCommandResolver struct {
	ID            snowflake.ID
	CurrentUserID snowflake.ID
	// contains filtered or unexported fields
}

func (GuildSlashCommandResolver) Bulk

func (GuildSlashCommandResolver) Command

func (GuildSlashCommandResolver) Create

func (GuildSlashCommandResolver) List

func (GuildSlashCommandResolver) PermissionList

type InteractionClient

type InteractionClient interface {
	Pong() error
	Response() InteractionResponseClient
	Update(params EditMessageParams) error
	DeferredUpdate() error
	DeferredComponentUpdate() error
	Reply(params InteractionMessageParams) error
	SendFollowUp(params FollowUpParams) (discord.Message, error)
	FollowUp(id snowflake.ID) FollowUpClient
	AutoComplete(choices []discord.CommandChoice) error
	TextInput(params TextInputParams) error
}

type InteractionMessageParams

type InteractionMessageParams struct {
	TTS             bool                   `json:"tts,omitempty"`
	Content         string                 `json:"content,omitempty"`
	Embeds          []discord.MessageEmbed `json:"embeds,omitempty"`
	AllowedMentions *AllowedMentions       `json:"allowed_mentions,omitempty"`
	Flags           *discord.MessageFlag   `json:"flags,omitempty"`
	Components      discord.ActionRows     `json:"components,omitempty"`
	Attachments     []MessageFile          `json:"attachments,omitempty"`
	Poll            *PollCreateParams      `json:"poll,omitempty"`
}

type InteractionResolver

type InteractionResolver struct {
	Token string

	ID snowflake.ID
	// contains filtered or unexported fields
}

func (InteractionResolver) AutoComplete

func (i InteractionResolver) AutoComplete(choices []discord.CommandChoice) error

func (InteractionResolver) DeferredComponentUpdate

func (i InteractionResolver) DeferredComponentUpdate() error

func (InteractionResolver) DeferredUpdate

func (i InteractionResolver) DeferredUpdate() error

func (InteractionResolver) FollowUp

func (InteractionResolver) Pong

func (i InteractionResolver) Pong() error

func (InteractionResolver) Reply

func (InteractionResolver) Response

func (InteractionResolver) SendFollowUp

func (i InteractionResolver) SendFollowUp(params FollowUpParams) (discord.Message, error)

func (InteractionResolver) TextInput

func (i InteractionResolver) TextInput(params TextInputParams) error

func (InteractionResolver) Update

func (i InteractionResolver) Update(params EditMessageParams) error

type InteractionResponseClient

type InteractionResponseClient interface {
	Get() (discord.Message, error)
	Delete() error
	Edit(params EditMessageParams) (discord.Message, error)
}

type InteractionResponseResolver

type InteractionResponseResolver struct {
	Token string
	// contains filtered or unexported fields
}

func (InteractionResponseResolver) Delete

func (InteractionResponseResolver) Edit

func (InteractionResponseResolver) Get

type JoinedArchivedThreadListParams

type JoinedArchivedThreadListParams struct {
	Before snowflake.ID
	Limit  uint
}

type MemberClient

type MemberClient interface {
	Get() (discord.MemberWithUser, error)
	Modify(params ModifyGuildMemberParams, reason ...string) (discord.Member, error)
	AddRole(id snowflake.ID, reason ...string) error
	RemoveRole(id snowflake.ID, reason ...string) error
	Kick(reason ...string) error
	CreateBan(seconds uint, reason ...string) error
	RemoveBan(reason ...string) error
	VoiceState() (discord.VoiceState, error)
	ModifyVoiceState(params ModifyUserVoiceStateParams) (discord.VoiceState, error)
}

type MemberResolver

type MemberResolver struct {
	Guild  snowflake.ID
	Member snowflake.ID
	// contains filtered or unexported fields
}

func (MemberResolver) AddRole

func (m MemberResolver) AddRole(id snowflake.ID, reason ...string) error

func (MemberResolver) CreateBan

func (m MemberResolver) CreateBan(seconds uint, reason ...string) error

func (MemberResolver) Get

func (MemberResolver) Kick

func (m MemberResolver) Kick(reason ...string) error

func (MemberResolver) Modify

func (m MemberResolver) Modify(params ModifyGuildMemberParams, reason ...string) (discord.Member, error)

func (MemberResolver) ModifyVoiceState

func (m MemberResolver) ModifyVoiceState(params ModifyUserVoiceStateParams) (discord.VoiceState, error)

func (MemberResolver) RemoveBan

func (m MemberResolver) RemoveBan(reason ...string) error

func (MemberResolver) RemoveRole

func (m MemberResolver) RemoveRole(id snowflake.ID, reason ...string) error

func (MemberResolver) VoiceState

func (m MemberResolver) VoiceState() (discord.VoiceState, error)

type MessageClient

type MessageClient interface {
	Answer(id uint, params MessagePollVotersParams) ([]discord.User, error)
	EndPoll() (discord.Message, error)
	Reaction(emoji string) ReactionClient
	StartThread(data StartThreadParams, reason ...string) (discord.Channel, error)
	Get() (dst discord.Message, _ error)
	Delete(reason ...string) error
	Pin(reason ...string) error
	Unpin(reason ...string) error
	Update(params EditMessageParams) (discord.Message, error)
	CrossPost() error
	DeleteAllReactions() error
}

type MessageFile

type MessageFile struct {
	ID          snowflake.ID               `json:"id,omitempty"`
	Filename    string                     `json:"filename,omitempty"`
	Title       string                     `json:"title,omitempty"`
	Description string                     `json:"description,omitempty"`
	Ephemeral   bool                       `json:"ephemeral,omitempty"`
	Resolver    media.AttachmentResolverFn `json:"-"`
}

type MessagePollVoters

type MessagePollVoters struct {
	Users []discord.User `json:"users,omitempty"`
}

type MessagePollVotersParams

type MessagePollVotersParams struct {
	After snowflake.ID
	Limit uint
}

type MessageReactionsParams

type MessageReactionsParams struct {
	Type  discord.ReactionType
	After snowflake.ID
	Limit uint
}

type MessageResolver

type MessageResolver struct {
	Channel snowflake.ID
	Message snowflake.ID
	// contains filtered or unexported fields
}

func (MessageResolver) Answer

func (v MessageResolver) Answer(id uint, params MessagePollVotersParams) ([]discord.User, error)

func (MessageResolver) CrossPost

func (v MessageResolver) CrossPost() error

func (MessageResolver) Delete

func (v MessageResolver) Delete(reason ...string) error

func (MessageResolver) DeleteAllReactions

func (v MessageResolver) DeleteAllReactions() error

func (MessageResolver) EndPoll

func (v MessageResolver) EndPoll() (discord.Message, error)

func (MessageResolver) Get

func (v MessageResolver) Get() (dst discord.Message, _ error)

func (MessageResolver) Pin

func (v MessageResolver) Pin(reason ...string) error

func (MessageResolver) Reaction

func (v MessageResolver) Reaction(emoji string) ReactionClient

func (MessageResolver) StartThread

func (v MessageResolver) StartThread(data StartThreadParams, reason ...string) (discord.Channel, error)

func (MessageResolver) Unpin

func (v MessageResolver) Unpin(reason ...string) error

func (MessageResolver) Update

type MessagesQuery

type MessagesQuery interface {
	Latest(limit uint) ([]discord.Message, error)
	Before(id snowflake.ID, limit uint) ([]discord.Message, error)
	After(id snowflake.ID, limit uint) ([]discord.Message, error)
	Around(id snowflake.ID, limit uint) ([]discord.Message, error)
}

type MessagesResolver

type MessagesResolver struct {
	Channel snowflake.ID
	// contains filtered or unexported fields
}

func (MessagesResolver) After

func (m MessagesResolver) After(id snowflake.ID, limit uint) ([]discord.Message, error)

func (MessagesResolver) Around

func (m MessagesResolver) Around(id snowflake.ID, limit uint) ([]discord.Message, error)

func (MessagesResolver) Before

func (m MessagesResolver) Before(id snowflake.ID, limit uint) ([]discord.Message, error)

func (MessagesResolver) Latest

func (m MessagesResolver) Latest(limit uint) ([]discord.Message, error)

type ModifyChannelParams

type ModifyChannelParams struct {
	GroupDM *ModifyGroupChannelParams
	Guild   *GuildChannelParams
	Thread  *ModifyThreadChannelParams
}

type ModifyCurrentUserParams

type ModifyCurrentUserParams struct {
	Username string `json:"username,omitempty"`
	Avatar   []byte `json:"avatar,omitempty"`
	Banner   []byte `json:"banner,omitempty"`
}

type ModifyCurrentUserVoiceStateParams

type ModifyCurrentUserVoiceStateParams struct {
	ModifyUserVoiceStateParams
	RequestToSpeakTimestamp discord.Timestamp `json:"request_to_speak_timestamp,omitempty"`
}

type ModifyEmojiParams

type ModifyEmojiParams struct {
	Name  string         `json:"name,omitempty"`
	Roles []snowflake.ID `json:"roles,omitempty"`
}

type ModifyGroupChannelParams

type ModifyGroupChannelParams struct {
	Name string `json:"name,omitempty"`
	Icon []byte `json:"icon,omitempty"`
}

type ModifyGuildMemberParams

type ModifyGuildMemberParams struct {
	Nick                       *string             `json:"nick,omitempty"`
	Roles                      []snowflake.ID      `json:"roles,omitempty"`
	Mute                       *bool               `json:"mute,omitempty"`
	Deaf                       *bool               `json:"deaf,omitempty"`
	ChannelID                  *snowflake.ID       `json:"channel_id,omitempty"`
	CommunicationDisabledUntil *discord.Timestamp  `json:"communication_disabled_until,omitempty"`
	Flags                      *discord.MemberFlag `json:"flags,omitempty"`
}

type ModifyGuildParams

type ModifyGuildParams struct {
	Name                        string                                 `json:"name,omitempty"`
	VerificationLevel           *discord.GuildVerificationLevel        `json:"verification_level,omitempty"`
	DefaultMessageNotifications *discord.GuildMessageNotificationLevel `json:"default_message_notifications,omitempty"`
	ExplicitContentFilter       *discord.GuildExplicitContentFilter    `json:"explicit_content_filter,omitempty"`
	AFKChannelID                *snowflake.ID                          `json:"afk_channel_id,omitempty"`
	AFKTimeout                  *AFKChannelTimeout                     `json:"afk_timeout,omitempty"`
	Icon                        []byte                                 `json:"icon,omitempty"`
	OwnerID                     *snowflake.ID                          `json:"owner_id,omitempty"`
	Splash                      []byte                                 `json:"splash,omitempty"`
	DiscoverySplash             []byte                                 `json:"discovery_splash,omitempty"`
	Banner                      []byte                                 `json:"banner,omitempty"`
	SystemChannelID             *snowflake.ID                          `json:"system_channel_id,omitempty"`
	SystemChannelFlags          *discord.GuildSystemChannelFlag        `json:"system_channel_flags,omitempty"`
	RulesChannelID              *snowflake.ID                          `json:"rules_channel_id,omitempty"`
	PublicUpdatesChannelID      *snowflake.ID                          `json:"public_updates_channel_id,omitempty"`
	PreferredLocale             *string                                `json:"preferred_locale,omitempty"`
	Features                    []string                               `json:"features,omitempty"`
	Description                 *string                                `json:"description,omitempty"`
	PremiumProgressBarEnabled   *bool                                  `json:"premium_progress_bar_enabled,omitempty"`
	SafetyAlertsChannelID       *snowflake.ID                          `json:"safety_alerts_channel_id,omitempty"`
}

type ModifyScheduledEventParams

type ModifyScheduledEventParams struct {
	CreateScheduledEventParams
	Status discord.ScheduledEventStatus `json:"status,omitempty"`
}

type ModifyStageInstanceParams

type ModifyStageInstanceParams struct {
	Topic        *string                    `json:"topic,omitempty"`
	PrivacyLevel *discord.StagePrivacyLevel `json:"privacy_level,omitempty"`
}

type ModifyThreadChannelParams

type ModifyThreadChannelParams struct {
	Name                *string              `json:"name,omitempty"`
	Archived            *bool                `json:"archived,omitempty"`
	AutoArchiveDuration *uint                `json:"auto_archive_duration,omitempty"`
	Locked              *bool                `json:"locked,omitempty"`
	Invitable           *bool                `json:"invitable,omitempty"`
	RateLimitPerUser    *uint                `json:"rate_limit_per_user,omitempty"`
	Flags               *discord.ChannelFlag `json:"flags,omitempty"`
	AppliedTags         []snowflake.ID       `json:"applied_tags,omitempty"`
}

type ModifyUserVoiceStateParams

type ModifyUserVoiceStateParams struct {
	ChannelID *snowflake.ID `json:"channel_id,omitempty"`
	Suppress  *bool         `json:"suppress,omitempty"`
}

type ModifyWebhookParams

type ModifyWebhookParams struct {
	Name      string       `json:"name,omitempty"`
	Avatar    []byte       `json:"avatar,omitempty"`
	ChannelID snowflake.ID `json:"channel_id,omitempty"`
}

type OAuthConfig

type OAuthConfig struct {
	RedirectURL  string
	ClientID     snowflake.ID
	ClientSecret string
	Scopes       []OAuthScope
	Prompt       OAuthPrompt
}

func (OAuthConfig) AuthorizeURL

func (cfg OAuthConfig) AuthorizeURL(state string) string

func (OAuthConfig) OAuthExchange

func (cfg OAuthConfig) OAuthExchange(code string) (OAuthToken, error)

type OAuthGuild

type OAuthGuild struct {
	ID                       snowflake.ID       `json:"id"`
	Name                     string             `json:"name"`
	Icon                     string             `json:"icon,omitempty"`
	Banner                   string             `json:"banner,omitempty"`
	Owner                    bool               `json:"owner"`
	Permissions              discord.Permission `json:"permissions"`
	Features                 []string           `json:"features"`
	ApproximateMemberCount   uint               `json:"approximate_member_count,omitempty"`
	ApproximatePresenceCount uint               `json:"approximate_presence_count,omitempty"`
}

type OAuthPrompt

type OAuthPrompt = string
const (
	OAuthPromptNone    OAuthPrompt = "none"
	OAuthPromptConsent OAuthPrompt = "consent"
)

type OAuthScope

type OAuthScope = string
const (
	OAuthScopeIdentify OAuthScope = "identify"
	OAuthScopeGuilds   OAuthScope = "guilds"
)

type OAuthToken

type OAuthToken struct {
	AccessToken  string    `json:"access_token"`
	TokenType    string    `json:"token_type"`
	ExpiresIn    uint      `json:"expires_in"`
	RefreshToken string    `json:"refresh_token"`
	Scope        string    `json:"scope"`
	CreatedAt    time.Time `json:"created_at"`
}

func (OAuthToken) ExpiresAt

func (t OAuthToken) ExpiresAt() time.Time

func (*OAuthToken) FetchGuilds

func (t *OAuthToken) FetchGuilds() ([]OAuthGuild, error)

func (*OAuthToken) FetchUser

func (t *OAuthToken) FetchUser() (discord.User, error)

func (*OAuthToken) Refresh

func (t *OAuthToken) Refresh(cfg OAuthConfig) error

type PollCreateParams

type PollCreateParams struct {
	Question         discord.PollMedia      `json:"question,omitempty"`
	Answers          []discord.PollAnswer   `json:"answers,omitempty"`
	Duration         uint                   `json:"duration,omitempty"`
	AllowMultiselect bool                   `json:"allow_multiselect,omitempty"`
	LayoutType       discord.PollLayoutType `json:"layout_type,omitempty"`
}

type ReactionClient

type ReactionClient interface {
	Reactions(opts MessageReactionsParams) (_ []discord.User, err error)
	React() error
	DeleteOwn() error
	Delete(user snowflake.ID) error
	DeleteAll() error
}

type ReactionResolver

type ReactionResolver struct {
	Channel snowflake.ID
	Message snowflake.ID
	Emoji   string
	// contains filtered or unexported fields
}

func (ReactionResolver) Delete

func (r ReactionResolver) Delete(user snowflake.ID) error

func (ReactionResolver) DeleteAll

func (r ReactionResolver) DeleteAll() error

func (ReactionResolver) DeleteOwn

func (r ReactionResolver) DeleteOwn() error

func (ReactionResolver) React

func (r ReactionResolver) React() error

func (ReactionResolver) Reactions

func (r ReactionResolver) Reactions(opts MessageReactionsParams) (_ []discord.User, err error)

type RoleClient

type RoleClient interface {
	Get() (discord.Role, error)
	Modify(params CreateRoleParams, reason ...string) (discord.Role, error)
	Delete(reason ...string) error
}

type RoleResolver

type RoleResolver struct {
	Guild snowflake.ID
	ID    snowflake.ID
	// contains filtered or unexported fields
}

func (RoleResolver) Delete

func (r RoleResolver) Delete(reason ...string) error

func (RoleResolver) Get

func (r RoleResolver) Get() (discord.Role, error)

func (RoleResolver) Modify

func (r RoleResolver) Modify(params CreateRoleParams, reason ...string) (discord.Role, error)

type ScheduledEventUser

type ScheduledEventUser struct {
	GuildScheduledEventID snowflake.ID   `json:"guild_scheduled_event_id,omitempty"`
	User                  discord.User   `json:"user,omitempty"`
	Member                discord.Member `json:"member,omitempty"`
}

type ScheduledEventUserParams

type ScheduledEventUserParams struct {
	Limit      uint
	WithMember bool
	Before     snowflake.ID
	After      snowflake.ID
}

type SessionStartLimit

type SessionStartLimit struct {
	Total          int `json:"total"`
	Remaining      int `json:"remaining"`
	ResetAfter     int `json:"reset_after"`
	MaxConcurrency int `json:"max_concurrency"`
}

type SlashClient

type SlashClient interface {
	Command(id snowflake.ID) SlashCommandClient
	Guild(id snowflake.ID) GuildSlashCommandClient
	List() ([]discord.Command, error)
	Create(params discord.CreateCommand) (discord.Command, error)
	Bulk(cmds []discord.CreateCommand) ([]discord.Command, error)
}

type SlashCommandClient

type SlashCommandClient interface {
	Get() (discord.Command, error)
	Delete() error
	Modify(params discord.CreateCommand) (discord.Command, error)
	ModifyPermissions(params discord.CommandPermissions) (discord.CommandPermissions, error)
	Permissions() (discord.CommandPermissions, error)
}

type SlashCommandResolver

type SlashCommandResolver struct {
	ID            snowflake.ID
	Guild         snowflake.ID
	CurrentUserID snowflake.ID
	// contains filtered or unexported fields
}

func (SlashCommandResolver) Delete

func (c SlashCommandResolver) Delete() error

func (SlashCommandResolver) Get

func (SlashCommandResolver) Modify

func (SlashCommandResolver) ModifyPermissions

func (SlashCommandResolver) Permissions

type SlashResolver

type SlashResolver struct {
	CurrentUserID snowflake.ID
	// contains filtered or unexported fields
}

func (SlashResolver) Bulk

func (SlashResolver) Command

func (SlashResolver) Create

func (SlashResolver) Guild

func (SlashResolver) List

func (s SlashResolver) List() ([]discord.Command, error)

type StageClient

type StageClient interface {
	Get() (discord.StageInstance, error)
	Create(params CreateStageInstanceParams, reason ...string) (discord.StageInstance, error)
	Modify(params ModifyStageInstanceParams, reason ...string) (discord.StageInstance, error)
	Delete(reason ...string) error
}

type StageResolver

type StageResolver struct {
	ID snowflake.ID
	// contains filtered or unexported fields
}

func (StageResolver) Create

func (StageResolver) Delete

func (s StageResolver) Delete(reason ...string) error

func (StageResolver) Get

func (StageResolver) Modify

type StartForumOrMediaThreadParams

type StartForumOrMediaThreadParams struct {
	StartThreadParams
	Message     EditMessageParams `json:"message,omitempty"`
	AppliedTags []snowflake.ID    `json:"applied_tags,omitempty"`
}

type StartThreadParams

type StartThreadParams struct {
	Name                string `json:"name,omitempty"`
	AutoArchiveDuration uint   `json:"auto_archive_duration,omitempty"`
	RateLimitPerUser    uint   `json:"rate_limit_per_user,omitempty"`
}

type StartThreadWithoutMessageParams

type StartThreadWithoutMessageParams struct {
	StartThreadParams
	Type      discord.ChannelType `json:"type,omitempty"`
	Invitable *bool               `json:"invitable,omitempty"`
}

type TextInputParams

type TextInputParams struct {
	CustomID   string              `json:"custom_id,omitempty"`
	Title      string              `json:"title,omitempty"`
	Components []discord.Component `json:"components,omitempty"`
}

type UpdateChannelPermissionsParams

type UpdateChannelPermissionsParams struct {
	Allow discord.Permission              `json:"allow,omitempty"`
	Deny  discord.Permission              `json:"deny,omitempty"`
	Type  discord.PermissionOverwriteType `json:"type,omitempty"`
}

type UserClient

type UserClient interface {
	Get() (u discord.User, _ error)
	CreateDM(recipient snowflake.ID) (discord.Channel, error)
}

type UserResolver

type UserResolver struct {
	ID snowflake.ID
	// contains filtered or unexported fields
}

func (UserResolver) CreateDM

func (c UserResolver) CreateDM(recipient snowflake.ID) (discord.Channel, error)

func (UserResolver) Get

func (c UserResolver) Get() (u discord.User, _ error)

type WebhookClient

type WebhookClient discord.Webhook

func NewWebhook

func NewWebhook(id snowflake.ID, token string) WebhookClient

func (*WebhookClient) Delete

func (w *WebhookClient) Delete() error

func (*WebhookClient) DeleteMessage

func (w *WebhookClient) DeleteMessage(id snowflake.ID) error

func (*WebhookClient) EditMessage

func (w *WebhookClient) EditMessage(id snowflake.ID, params EditMessageParams, thread ...snowflake.ID) (discord.Message, error)

func (*WebhookClient) Execute

func (w *WebhookClient) Execute(params WebhookExecuteParams) (msg discord.Message, err error)

func (*WebhookClient) Fetch

func (w *WebhookClient) Fetch() (err error)

func (*WebhookClient) GetMessage

func (w *WebhookClient) GetMessage(id snowflake.ID, thread ...snowflake.ID) (discord.Message, error)

func (*WebhookClient) Modify

func (w *WebhookClient) Modify(params ModifyWebhookParams, reason ...string) (err error)

type WebhookExecuteParams

type WebhookExecuteParams struct {
	CreateMessageParams
	AppliedTags []snowflake.ID `json:"applied_tags,omitempty"`
	ThreadName  string         `json:"thread_name,omitempty"`
	Username    string         `json:"username,omitempty"`
	AvatarURL   string         `json:"avatar_url,omitempty"`
	ThreadID    snowflake.ID   `json:"thread_id,omitempty"`
	Wait        bool           `json:"wait,omitempty"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL