Documentation ¶
Index ¶
- Constants
- Variables
- func GetOAuthToken(client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, err error)
- func GetOAuthTokenContext(ctx context.Context, client httpClient, ...) (accessToken string, scope string, err error)
- func OptionAPIURL(u string) func(*Client)
- func OptionAppLevelToken(token string) func(*Client)
- func OptionConfigRefreshToken(token string) func(*Client)
- func OptionConfigToken(token string) func(*Client)
- func OptionDebug(b bool) func(*Client)
- func OptionHTTPClient(client httpClient) func(*Client)
- func OptionLog(l logger) func(*Client)
- func PostWebhook(url string, msg *WebhookMessage) error
- func PostWebhookContext(ctx context.Context, url string, msg *WebhookMessage) error
- func PostWebhookCustomHTTP(url string, httpClient *http.Client, msg *WebhookMessage) error
- func PostWebhookCustomHTTPContext(ctx context.Context, url string, httpClient *http.Client, msg *WebhookMessage) error
- func UnsafeApplyMsgOptions(token, channel, apiurl string, options ...MsgOption) (string, url.Values, error)
- func ValidateUniqueBlockID(view ModalViewRequest) bool
- type AccessLogParameters
- type Accessory
- type AccountsChangedEvent
- type AckErrorEvent
- type AckMessage
- type ActionBlock
- type ActionCallbacks
- type ActionType
- type AddBookmarkParameters
- type AppHome
- type Attachment
- type AttachmentAction
- type AttachmentActionCallback
- type AttachmentActionOption
- type AttachmentActionOptionGroup
- type AttachmentField
- type AuditApp
- type AuditChannel
- type AuditEnterprise
- type AuditEntry
- type AuditFile
- type AuditLogParameters
- type AuditLogResponse
- type AuditUser
- type AuditWorkspace
- type AuthRevokeResponse
- type AuthTestResponse
- type BillableInfoResponse
- type BillingActive
- type Block
- type BlockAction
- type BlockActionStates
- type BlockElement
- type BlockElements
- type BlockObjects
- type Blocks
- type Bookmark
- type Bot
- type BotAddedEvent
- type BotChangedEvent
- type BotProfile
- type BotUser
- type ButtonBlockElement
- type Channel
- type ChannelArchiveEvent
- type ChannelCreatedEvent
- type ChannelCreatedInfo
- type ChannelDeletedEvent
- type ChannelHistoryChangedEvent
- type ChannelInfoEvent
- type ChannelJoinedEvent
- type ChannelLeftEvent
- type ChannelMarkedEvent
- type ChannelRenameEvent
- type ChannelRenameInfo
- type ChannelUnarchiveEvent
- type CheckboxGroupsBlockElement
- type Client
- func (api *Client) AddBookmark(channelID string, params AddBookmarkParameters) (Bookmark, error)
- func (api *Client) AddBookmarkContext(ctx context.Context, channelID string, params AddBookmarkParameters) (Bookmark, error)
- func (api *Client) AddChannelReminder(channelID, text, time string) (*Reminder, error)
- func (api *Client) AddChannelReminderContext(ctx context.Context, channelID, text, time string) (*Reminder, error)
- func (api *Client) AddPin(channel string, item ItemRef) error
- func (api *Client) AddPinContext(ctx context.Context, channel string, item ItemRef) error
- func (api *Client) AddReaction(name string, item ItemRef) error
- func (api *Client) AddReactionContext(ctx context.Context, name string, item ItemRef) error
- func (api *Client) AddRemoteFile(params RemoteFileParameters) (*RemoteFile, error)
- func (api *Client) AddRemoteFileContext(ctx context.Context, params RemoteFileParameters) (remotefile *RemoteFile, err error)
- func (api *Client) AddStar(channel string, item ItemRef) error
- func (api *Client) AddStarContext(ctx context.Context, channel string, item ItemRef) error
- func (api *Client) AddUserReminder(userID, text, time string) (*Reminder, error)
- func (api *Client) AddUserReminderContext(ctx context.Context, userID, text, time string) (*Reminder, error)
- func (api *Client) ArchiveConversation(channelID string) error
- func (api *Client) ArchiveConversationContext(ctx context.Context, channelID string) error
- func (api *Client) AuthTest() (response *AuthTestResponse, error error)
- func (api *Client) AuthTestContext(ctx context.Context) (response *AuthTestResponse, err error)
- func (api *Client) CloseConversation(channelID string) (noOp bool, alreadyClosed bool, err error)
- func (api *Client) CloseConversationContext(ctx context.Context, channelID string) (noOp bool, alreadyClosed bool, err error)
- func (api *Client) ConnectRTM() (info *Info, websocketURL string, err error)
- func (api *Client) ConnectRTMContext(ctx context.Context) (info *Info, websocketURL string, err error)
- func (api *Client) CreateConversation(params CreateConversationParams) (*Channel, error)
- func (api *Client) CreateConversationContext(ctx context.Context, params CreateConversationParams) (*Channel, error)
- func (api *Client) CreateManifest(manifest *Manifest, token string) (*ManifestResponse, error)
- func (api *Client) CreateManifestContext(ctx context.Context, manifest *Manifest, token string) (*ManifestResponse, error)
- func (api *Client) CreateUserGroup(userGroup UserGroup) (UserGroup, error)
- func (api *Client) CreateUserGroupContext(ctx context.Context, userGroup UserGroup) (UserGroup, error)
- func (api *Client) Debug() bool
- func (api *Client) Debugf(format string, v ...interface{})
- func (api *Client) Debugln(v ...interface{})
- func (api *Client) DeleteFile(fileID string) error
- func (api *Client) DeleteFileComment(commentID, fileID string) error
- func (api *Client) DeleteFileCommentContext(ctx context.Context, fileID, commentID string) (err error)
- func (api *Client) DeleteFileContext(ctx context.Context, fileID string) (err error)
- func (api *Client) DeleteManifest(token string, appId string) (*SlackResponse, error)
- func (api *Client) DeleteManifestContext(ctx context.Context, token string, appId string) (*SlackResponse, error)
- func (api *Client) DeleteMessage(channel, messageTimestamp string) (string, string, error)
- func (api *Client) DeleteMessageContext(ctx context.Context, channel, messageTimestamp string) (string, string, error)
- func (api *Client) DeleteReminder(id string) error
- func (api *Client) DeleteReminderContext(ctx context.Context, id string) error
- func (api *Client) DeleteScheduledMessage(params *DeleteScheduledMessageParameters) (bool, error)
- func (api *Client) DeleteScheduledMessageContext(ctx context.Context, params *DeleteScheduledMessageParameters) (bool, error)
- func (api *Client) DeleteUserPhoto() error
- func (api *Client) DeleteUserPhotoContext(ctx context.Context) (err error)
- func (api *Client) DisableUser(teamName string, uid string) error
- func (api *Client) DisableUserContext(ctx context.Context, teamName string, uid string) error
- func (api *Client) DisableUserGroup(userGroup string) (UserGroup, error)
- func (api *Client) DisableUserGroupContext(ctx context.Context, userGroup string) (UserGroup, error)
- func (api *Client) EditBookmark(channelID, bookmarkID string, params EditBookmarkParameters) (Bookmark, error)
- func (api *Client) EditBookmarkContext(ctx context.Context, channelID, bookmarkID string, ...) (Bookmark, error)
- func (api *Client) EnableUserGroup(userGroup string) (UserGroup, error)
- func (api *Client) EnableUserGroupContext(ctx context.Context, userGroup string) (UserGroup, error)
- func (api *Client) EndDND() error
- func (api *Client) EndDNDContext(ctx context.Context) error
- func (api *Client) EndSnooze() (*DNDStatus, error)
- func (api *Client) EndSnoozeContext(ctx context.Context) (*DNDStatus, error)
- func (api *Client) ExportManifest(token string, appId string) (*Manifest, error)
- func (api *Client) ExportManifestContext(ctx context.Context, token string, appId string) (*Manifest, error)
- func (api *Client) GetAccessLogs(params AccessLogParameters) ([]Login, *Paging, error)
- func (api *Client) GetAccessLogsContext(ctx context.Context, params AccessLogParameters) ([]Login, *Paging, error)
- func (api *Client) GetAuditLogs(params AuditLogParameters) (entries []AuditEntry, nextCursor string, err error)
- func (api *Client) GetAuditLogsContext(ctx context.Context, params AuditLogParameters) (entries []AuditEntry, nextCursor string, err error)
- func (api *Client) GetBillableInfo(user string) (map[string]BillingActive, error)
- func (api *Client) GetBillableInfoContext(ctx context.Context, user string) (map[string]BillingActive, error)
- func (api *Client) GetBillableInfoForTeam() (map[string]BillingActive, error)
- func (api *Client) GetBillableInfoForTeamContext(ctx context.Context) (map[string]BillingActive, error)
- func (api *Client) GetBotInfo(bot string) (*Bot, error)
- func (api *Client) GetBotInfoContext(ctx context.Context, bot string) (*Bot, error)
- func (api *Client) GetConversationHistory(params *GetConversationHistoryParameters) (*GetConversationHistoryResponse, error)
- func (api *Client) GetConversationHistoryContext(ctx context.Context, params *GetConversationHistoryParameters) (*GetConversationHistoryResponse, error)
- func (api *Client) GetConversationInfo(input *GetConversationInfoInput) (*Channel, error)
- func (api *Client) GetConversationInfoContext(ctx context.Context, input *GetConversationInfoInput) (*Channel, error)
- func (api *Client) GetConversationReplies(params *GetConversationRepliesParameters) (msgs []Message, hasMore bool, nextCursor string, err error)
- func (api *Client) GetConversationRepliesContext(ctx context.Context, params *GetConversationRepliesParameters) (msgs []Message, hasMore bool, nextCursor string, err error)
- func (api *Client) GetConversations(params *GetConversationsParameters) (channels []Channel, nextCursor string, err error)
- func (api *Client) GetConversationsContext(ctx context.Context, params *GetConversationsParameters) (channels []Channel, nextCursor string, err error)
- func (api *Client) GetConversationsForUser(params *GetConversationsForUserParameters) (channels []Channel, nextCursor string, err error)
- func (api *Client) GetConversationsForUserContext(ctx context.Context, params *GetConversationsForUserParameters) (channels []Channel, nextCursor string, err error)
- func (api *Client) GetDNDInfo(user *string) (*DNDStatus, error)
- func (api *Client) GetDNDInfoContext(ctx context.Context, user *string) (*DNDStatus, error)
- func (api *Client) GetDNDTeamInfo(users []string) (map[string]DNDStatus, error)
- func (api *Client) GetDNDTeamInfoContext(ctx context.Context, users []string) (map[string]DNDStatus, error)
- func (api *Client) GetEmoji() (map[string]string, error)
- func (api *Client) GetEmojiContext(ctx context.Context) (map[string]string, error)
- func (api *Client) GetFile(downloadURL string, writer io.Writer) error
- func (api *Client) GetFileContext(ctx context.Context, downloadURL string, writer io.Writer) error
- func (api *Client) GetFileInfo(fileID string, count, page int) (*File, []Comment, *Paging, error)
- func (api *Client) GetFileInfoContext(ctx context.Context, fileID string, count, page int) (*File, []Comment, *Paging, error)
- func (api *Client) GetFiles(params GetFilesParameters) ([]File, *Paging, error)
- func (api *Client) GetFilesContext(ctx context.Context, params GetFilesParameters) ([]File, *Paging, error)
- func (api *Client) GetOtherTeamInfo(team string) (*TeamInfo, error)
- func (api *Client) GetOtherTeamInfoContext(ctx context.Context, team string) (*TeamInfo, error)
- func (api *Client) GetPermalink(params *PermalinkParameters) (string, error)
- func (api *Client) GetPermalinkContext(ctx context.Context, params *PermalinkParameters) (string, error)
- func (api *Client) GetReactions(item ItemRef, params GetReactionsParameters) ([]ItemReaction, error)
- func (api *Client) GetReactionsContext(ctx context.Context, item ItemRef, params GetReactionsParameters) ([]ItemReaction, error)
- func (api *Client) GetRemoteFileInfo(externalID, fileID string) (remotefile *RemoteFile, err error)
- func (api *Client) GetRemoteFileInfoContext(ctx context.Context, externalID, fileID string) (remotefile *RemoteFile, err error)
- func (api *Client) GetScheduledMessages(params *GetScheduledMessagesParameters) (channels []ScheduledMessage, nextCursor string, err error)
- func (api *Client) GetScheduledMessagesContext(ctx context.Context, params *GetScheduledMessagesParameters) (channels []ScheduledMessage, nextCursor string, err error)
- func (api *Client) GetStarred(params StarsParameters) ([]StarredItem, *Paging, error)
- func (api *Client) GetStarredContext(ctx context.Context, params StarsParameters) ([]StarredItem, *Paging, error)
- func (api *Client) GetTeamInfo() (*TeamInfo, error)
- func (api *Client) GetTeamInfoContext(ctx context.Context) (*TeamInfo, error)
- func (api *Client) GetTeamProfile() (*TeamProfile, error)
- func (api *Client) GetTeamProfileContext(ctx context.Context) (*TeamProfile, error)
- func (api *Client) GetUserByEmail(email string) (*User, error)
- func (api *Client) GetUserByEmailContext(ctx context.Context, email string) (*User, error)
- func (api *Client) GetUserGroupMembers(userGroup string) ([]string, error)
- func (api *Client) GetUserGroupMembersContext(ctx context.Context, userGroup string) ([]string, error)
- func (api *Client) GetUserGroups(options ...GetUserGroupsOption) ([]UserGroup, error)
- func (api *Client) GetUserGroupsContext(ctx context.Context, options ...GetUserGroupsOption) ([]UserGroup, error)
- func (api *Client) GetUserIdentity() (*UserIdentityResponse, error)
- func (api *Client) GetUserIdentityContext(ctx context.Context) (response *UserIdentityResponse, err error)
- func (api *Client) GetUserInfo(user string) (*User, error)
- func (api *Client) GetUserInfoContext(ctx context.Context, user string) (*User, error)
- func (api *Client) GetUserPrefs() (*UserPrefsCarrier, error)
- func (api *Client) GetUserPrefsContext(ctx context.Context) (*UserPrefsCarrier, error)
- func (api *Client) GetUserPresence(user string) (*UserPresence, error)
- func (api *Client) GetUserPresenceContext(ctx context.Context, user string) (*UserPresence, error)
- func (api *Client) GetUserProfile(params *GetUserProfileParameters) (*UserProfile, error)
- func (api *Client) GetUserProfileContext(ctx context.Context, params *GetUserProfileParameters) (*UserProfile, error)
- func (api *Client) GetUsers(options ...GetUsersOption) ([]User, error)
- func (api *Client) GetUsersContext(ctx context.Context, options ...GetUsersOption) (results []User, err error)
- func (api *Client) GetUsersInConversation(params *GetUsersInConversationParameters) ([]string, string, error)
- func (api *Client) GetUsersInConversationContext(ctx context.Context, params *GetUsersInConversationParameters) ([]string, string, error)
- func (api *Client) GetUsersInfo(users ...string) (*[]User, error)
- func (api *Client) GetUsersInfoContext(ctx context.Context, users ...string) (*[]User, error)
- func (api *Client) GetUsersPaginated(options ...GetUsersOption) UserPagination
- func (api *Client) InviteGuest(teamName, channel, firstName, lastName, emailAddress string) error
- func (api *Client) InviteGuestContext(ctx context.Context, ...) error
- func (api *Client) InviteRestricted(teamName, channel, firstName, lastName, emailAddress string) error
- func (api *Client) InviteRestrictedContext(ctx context.Context, ...) error
- func (api *Client) InviteSharedEmailsToConversation(channelID string, emails ...string) (string, bool, error)
- func (api *Client) InviteSharedEmailsToConversationContext(ctx context.Context, channelID string, emails ...string) (string, bool, error)
- func (api *Client) InviteSharedUserIDsToConversation(channelID string, userIDs ...string) (string, bool, error)
- func (api *Client) InviteSharedUserIDsToConversationContext(ctx context.Context, channelID string, userIDs ...string) (string, bool, error)
- func (api *Client) InviteToTeam(teamName, firstName, lastName, emailAddress string) error
- func (api *Client) InviteToTeamContext(ctx context.Context, teamName, firstName, lastName, emailAddress string) error
- func (api *Client) InviteUsersToConversation(channelID string, users ...string) (*Channel, error)
- func (api *Client) InviteUsersToConversationContext(ctx context.Context, channelID string, users ...string) (*Channel, error)
- func (api *Client) JoinConversation(channelID string) (*Channel, string, []string, error)
- func (api *Client) JoinConversationContext(ctx context.Context, channelID string) (*Channel, string, []string, error)
- func (api *Client) KickUserFromConversation(channelID string, user string) error
- func (api *Client) KickUserFromConversationContext(ctx context.Context, channelID string, user string) error
- func (api *Client) LeaveConversation(channelID string) (bool, error)
- func (api *Client) LeaveConversationContext(ctx context.Context, channelID string) (bool, error)
- func (api *Client) ListAllStars() ([]Item, error)
- func (api *Client) ListAllStarsContext(ctx context.Context) (results []Item, err error)
- func (api *Client) ListBookmarks(channelID string) ([]Bookmark, error)
- func (api *Client) ListBookmarksContext(ctx context.Context, channelID string) ([]Bookmark, error)
- func (api *Client) ListEventAuthorizations(eventContext string) ([]EventAuthorization, error)
- func (api *Client) ListEventAuthorizationsContext(ctx context.Context, eventContext string) ([]EventAuthorization, error)
- func (api *Client) ListFiles(params ListFilesParameters) ([]File, *ListFilesParameters, error)
- func (api *Client) ListFilesContext(ctx context.Context, params ListFilesParameters) ([]File, *ListFilesParameters, error)
- func (api *Client) ListPins(channel string) ([]Item, *Paging, error)
- func (api *Client) ListPinsContext(ctx context.Context, channel string) ([]Item, *Paging, error)
- func (api *Client) ListReactions(params ListReactionsParameters) ([]ReactedItem, *Paging, error)
- func (api *Client) ListReactionsContext(ctx context.Context, params ListReactionsParameters) ([]ReactedItem, *Paging, error)
- func (api *Client) ListReminders() ([]*Reminder, error)
- func (api *Client) ListRemindersContext(ctx context.Context) ([]*Reminder, error)
- func (api *Client) ListRemoteFiles(params ListRemoteFilesParameters) ([]RemoteFile, error)
- func (api *Client) ListRemoteFilesContext(ctx context.Context, params ListRemoteFilesParameters) ([]RemoteFile, error)
- func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error)
- func (api *Client) ListStarsContext(ctx context.Context, params StarsParameters) ([]Item, *Paging, error)
- func (api *Client) ListStarsPaginated(options ...ListStarsOption) StarredItemPagination
- func (api *Client) ListTeams(params ListTeamsParameters) ([]Team, string, error)
- func (api *Client) ListTeamsContext(ctx context.Context, params ListTeamsParameters) ([]Team, string, error)
- func (api *Client) MarkConversation(channel, ts string) (err error)
- func (api *Client) MarkConversationContext(ctx context.Context, channel, ts string) error
- func (api *Client) MuteChat(channelID string) (*UserPrefsCarrier, error)
- func (api *Client) NewRTM(options ...RTMOption) *RTM
- func (api *Client) OpenConversation(params *OpenConversationParameters) (*Channel, bool, bool, error)
- func (api *Client) OpenConversationContext(ctx context.Context, params *OpenConversationParameters) (*Channel, bool, bool, error)
- func (api *Client) OpenDialog(triggerID string, dialog Dialog) (err error)
- func (api *Client) OpenDialogContext(ctx context.Context, triggerID string, dialog Dialog) (err error)
- func (api *Client) OpenView(triggerID string, view ModalViewRequest) (*ViewResponse, error)
- func (api *Client) OpenViewContext(ctx context.Context, triggerID string, view ModalViewRequest) (*ViewResponse, error)
- func (api *Client) PostEphemeral(channelID, userID string, options ...MsgOption) (string, error)
- func (api *Client) PostEphemeralContext(ctx context.Context, channelID, userID string, options ...MsgOption) (timestamp string, err error)
- func (api *Client) PostMessage(channelID string, options ...MsgOption) (string, string, error)
- func (api *Client) PostMessageContext(ctx context.Context, channelID string, options ...MsgOption) (string, string, error)
- func (api *Client) PublishView(userID string, view HomeTabViewRequest, hash string) (*ViewResponse, error)
- func (api *Client) PublishViewContext(ctx context.Context, userID string, view HomeTabViewRequest, hash string) (*ViewResponse, error)
- func (api *Client) PushView(triggerID string, view ModalViewRequest) (*ViewResponse, error)
- func (api *Client) PushViewContext(ctx context.Context, triggerID string, view ModalViewRequest) (*ViewResponse, error)
- func (api *Client) RemoveBookmark(channelID, bookmarkID string) error
- func (api *Client) RemoveBookmarkContext(ctx context.Context, channelID, bookmarkID string) error
- func (api *Client) RemovePin(channel string, item ItemRef) error
- func (api *Client) RemovePinContext(ctx context.Context, channel string, item ItemRef) error
- func (api *Client) RemoveReaction(name string, item ItemRef) error
- func (api *Client) RemoveReactionContext(ctx context.Context, name string, item ItemRef) error
- func (api *Client) RemoveRemoteFile(externalID, fileID string) (err error)
- func (api *Client) RemoveRemoteFileContext(ctx context.Context, externalID, fileID string) (err error)
- func (api *Client) RemoveStar(channel string, item ItemRef) error
- func (api *Client) RemoveStarContext(ctx context.Context, channel string, item ItemRef) error
- func (api *Client) RenameConversation(channelID, channelName string) (*Channel, error)
- func (api *Client) RenameConversationContext(ctx context.Context, channelID, channelName string) (*Channel, error)
- func (api *Client) RevokeFilePublicURL(fileID string) (*File, error)
- func (api *Client) RevokeFilePublicURLContext(ctx context.Context, fileID string) (*File, error)
- func (api *Client) RotateTokens(configToken string, refreshToken string) (*TokenResponse, error)
- func (api *Client) RotateTokensContext(ctx context.Context, configToken string, refreshToken string) (*TokenResponse, error)
- func (api *Client) SaveWorkflowStepConfiguration(workflowStepEditID string, inputs *WorkflowStepInputs, ...) error
- func (api *Client) SaveWorkflowStepConfigurationContext(ctx context.Context, workflowStepEditID string, inputs *WorkflowStepInputs, ...) error
- func (api *Client) ScheduleMessage(channelID, postAt string, options ...MsgOption) (string, string, error)
- func (api *Client) ScheduleMessageContext(ctx context.Context, channelID, postAt string, options ...MsgOption) (string, string, error)
- func (api *Client) Search(query string, params SearchParameters) (*SearchMessages, *SearchFiles, error)
- func (api *Client) SearchContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, *SearchFiles, error)
- func (api *Client) SearchFiles(query string, params SearchParameters) (*SearchFiles, error)
- func (api *Client) SearchFilesContext(ctx context.Context, query string, params SearchParameters) (*SearchFiles, error)
- func (api *Client) SearchMessages(query string, params SearchParameters) (*SearchMessages, error)
- func (api *Client) SearchMessagesContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, error)
- func (api *Client) SendAuthRevoke(token string) (*AuthRevokeResponse, error)
- func (api *Client) SendAuthRevokeContext(ctx context.Context, token string) (*AuthRevokeResponse, error)
- func (api *Client) SendMessage(channel string, options ...MsgOption) (string, string, string, error)
- func (api *Client) SendMessageContext(ctx context.Context, channelID string, options ...MsgOption) (_channel string, _timestamp string, _text string, err error)
- func (api *Client) SendSSOBindingEmail(teamName, user string) error
- func (api *Client) SendSSOBindingEmailContext(ctx context.Context, teamName, user string) error
- func (api *Client) SetPurposeOfConversation(channelID, purpose string) (*Channel, error)
- func (api *Client) SetPurposeOfConversationContext(ctx context.Context, channelID, purpose string) (*Channel, error)
- func (api *Client) SetRegular(teamName, user string) error
- func (api *Client) SetRegularContext(ctx context.Context, teamName, user string) error
- func (api *Client) SetRestricted(teamName, uid string, channelIds ...string) error
- func (api *Client) SetRestrictedContext(ctx context.Context, teamName, uid string, channelIds ...string) error
- func (api *Client) SetSnooze(minutes int) (*DNDStatus, error)
- func (api *Client) SetSnoozeContext(ctx context.Context, minutes int) (*DNDStatus, error)
- func (api *Client) SetTopicOfConversation(channelID, topic string) (*Channel, error)
- func (api *Client) SetTopicOfConversationContext(ctx context.Context, channelID, topic string) (*Channel, error)
- func (api *Client) SetUltraRestricted(teamName, uid, channel string) error
- func (api *Client) SetUltraRestrictedContext(ctx context.Context, teamName, uid, channel string) error
- func (api *Client) SetUserAsActive() error
- func (api *Client) SetUserAsActiveContext(ctx context.Context) (err error)
- func (api *Client) SetUserCustomFields(userID string, customFields map[string]UserProfileCustomField) error
- func (api *Client) SetUserCustomFieldsContext(ctx context.Context, userID string, ...) error
- func (api *Client) SetUserCustomStatus(statusText, statusEmoji string, statusExpiration int64) error
- func (api *Client) SetUserCustomStatusContext(ctx context.Context, statusText, statusEmoji string, statusExpiration int64) error
- func (api *Client) SetUserCustomStatusContextWithUser(ctx context.Context, user, statusText, statusEmoji string, ...) error
- func (api *Client) SetUserCustomStatusWithUser(user, statusText, statusEmoji string, statusExpiration int64) error
- func (api *Client) SetUserPhoto(image string, params UserSetPhotoParams) error
- func (api *Client) SetUserPhotoContext(ctx context.Context, image string, params UserSetPhotoParams) (err error)
- func (api *Client) SetUserPresence(presence string) error
- func (api *Client) SetUserPresenceContext(ctx context.Context, presence string) error
- func (api *Client) SetUserRealName(realName string) error
- func (api *Client) SetUserRealNameContextWithUser(ctx context.Context, user, realName string) error
- func (api *Client) ShareFilePublicURL(fileID string) (*File, []Comment, *Paging, error)
- func (api *Client) ShareFilePublicURLContext(ctx context.Context, fileID string) (*File, []Comment, *Paging, error)
- func (api *Client) ShareRemoteFile(channels []string, externalID, fileID string) (file *RemoteFile, err error)
- func (api *Client) ShareRemoteFileContext(ctx context.Context, channels []string, externalID, fileID string) (file *RemoteFile, err error)
- func (api *Client) StartRTM() (info *Info, websocketURL string, err error)
- func (api *Client) StartRTMContext(ctx context.Context) (info *Info, websocketURL string, err error)
- func (api *Client) StartSocketModeContext(ctx context.Context) (info *SocketModeConnection, websocketURL string, err error)
- func (api *Client) UnArchiveConversation(channelID string) error
- func (api *Client) UnArchiveConversationContext(ctx context.Context, channelID string) error
- func (api *Client) UnMuteChat(channelID string) (*UserPrefsCarrier, error)
- func (api *Client) UnfurlMessage(channelID, timestamp string, unfurls map[string]Attachment, ...) (string, string, string, error)
- func (api *Client) UnfurlMessageContext(ctx context.Context, channelID, timestamp string, ...) (string, string, string, error)
- func (api *Client) UnfurlMessageWithAuthURL(channelID, timestamp string, userAuthURL string, options ...MsgOption) (string, string, string, error)
- func (api *Client) UnfurlMessageWithAuthURLContext(ctx context.Context, channelID, timestamp string, userAuthURL string, ...) (string, string, string, error)
- func (api *Client) UninstallApp(clientID, clientSecret string) error
- func (api *Client) UninstallAppContext(ctx context.Context, clientID, clientSecret string) error
- func (api *Client) UnsetUserCustomStatus() error
- func (api *Client) UnsetUserCustomStatusContext(ctx context.Context) error
- func (api *Client) UpdateConfigTokens(response *TokenResponse)
- func (api *Client) UpdateManifest(manifest *Manifest, token string, appId string) (*UpdateManifestResponse, error)
- func (api *Client) UpdateManifestContext(ctx context.Context, manifest *Manifest, token string, appId string) (*UpdateManifestResponse, error)
- func (api *Client) UpdateMessage(channelID, timestamp string, options ...MsgOption) (string, string, string, error)
- func (api *Client) UpdateMessageContext(ctx context.Context, channelID, timestamp string, options ...MsgOption) (string, string, string, error)
- func (api *Client) UpdateRemoteFile(fileID string, params RemoteFileParameters) (remotefile *RemoteFile, err error)
- func (api *Client) UpdateRemoteFileContext(ctx context.Context, fileID string, params RemoteFileParameters) (remotefile *RemoteFile, err error)
- func (api *Client) UpdateUserGroup(userGroupID string, options ...UpdateUserGroupsOption) (UserGroup, error)
- func (api *Client) UpdateUserGroupContext(ctx context.Context, userGroupID string, options ...UpdateUserGroupsOption) (UserGroup, error)
- func (api *Client) UpdateUserGroupMembers(userGroup string, members string) (UserGroup, error)
- func (api *Client) UpdateUserGroupMembersContext(ctx context.Context, userGroup string, members string) (UserGroup, error)
- func (api *Client) UpdateView(view ModalViewRequest, externalID, hash, viewID string) (*ViewResponse, error)
- func (api *Client) UpdateViewContext(ctx context.Context, view ModalViewRequest, externalID, hash, viewID string) (*ViewResponse, error)
- func (api *Client) UploadFile(params FileUploadParameters) (file *File, err error)
- func (api *Client) UploadFileContext(ctx context.Context, params FileUploadParameters) (file *File, err error)
- func (api *Client) UploadFileV2(params UploadFileV2Parameters) (*FileSummary, error)
- func (api *Client) UploadFileV2Context(ctx context.Context, params UploadFileV2Parameters) (file *FileSummary, err error)
- func (api *Client) ValidateManifest(manifest *Manifest, token string, appId string) (*ManifestResponse, error)
- func (api *Client) ValidateManifestContext(ctx context.Context, manifest *Manifest, token string, appId string) (*ManifestResponse, error)
- func (api *Client) WorkflowStepCompleted(workflowStepExecuteID string, options ...WorkflowStepCompletedRequestOption) error
- func (api *Client) WorkflowStepFailed(workflowStepExecuteID string, errorMessage string) error
- type CommandsChangedEvent
- type Comment
- type ConfigurationModalRequest
- type ConfirmationBlockObject
- type ConfirmationField
- type ConnectedEvent
- type ConnectingEvent
- type ConnectionErrorEvent
- type Container
- type ContextBlock
- type ContextElements
- type Conversation
- type CreateConversationParams
- type CtxChannel
- type CtxMessage
- type DNDStatus
- type DNDUpdatedEvent
- type DatePickerBlockElement
- type DateTimePickerBlockElement
- type Debug
- type DeleteScheduledMessageParameters
- type DesktopNotificationEvent
- type Dialog
- type DialogCallback
- type DialogElement
- type DialogInput
- type DialogInputSelect
- func NewChannelsSelect(name, label string) *DialogInputSelect
- func NewConversationsSelect(name, label string) *DialogInputSelect
- func NewExternalSelectDialogInput(name, label string, options []DialogSelectOption) *DialogInputSelect
- func NewGroupedSelectDialogInput(name, label string, options []DialogOptionGroup) *DialogInputSelect
- func NewStaticSelectDialogInput(name, label string, options []DialogSelectOption) *DialogInputSelect
- func NewUsersSelect(name, label string) *DialogInputSelect
- type DialogInputValidationError
- type DialogInputValidationErrors
- type DialogOpenResponse
- type DialogOptionGroup
- type DialogResponseMetadata
- type DialogSelectOption
- type DialogSubmissionCallback
- type DialogTrigger
- type DisconnectedEvent
- type DispatchActionConfig
- type Display
- type DividerBlock
- type EditBookmarkParameters
- type Edited
- type EmailDomainChangedEvent
- type EmailTextInputBlockElement
- type EmojiChangedEvent
- type Enterprise
- type EnterpriseUser
- type Event
- type EventAuthorization
- type EventSubscriptions
- type ExportManifestResponse
- type Features
- type File
- type FileBlock
- type FileChangeEvent
- type FileCommentAddedEvent
- type FileCommentDeletedEvent
- type FileCommentEditedEvent
- type FileCreatedEvent
- type FileDeletedEvent
- type FilePrivateEvent
- type FilePublicEvent
- type FileSharedEvent
- type FileSummary
- type FileUnsharedEvent
- type FileUploadParameters
- type GetConversationHistoryParameters
- type GetConversationHistoryResponse
- type GetConversationInfoInput
- type GetConversationRepliesParameters
- type GetConversationsForUserParameters
- type GetConversationsParameters
- type GetFilesParameters
- type GetReactionsParameters
- type GetScheduledMessagesParameters
- type GetUserGroupsOption
- type GetUserGroupsParams
- type GetUserProfileParameters
- type GetUsersInConversationParameters
- type GetUsersOption
- type Group
- type GroupArchiveEvent
- type GroupCloseEvent
- type GroupConversation
- type GroupCreatedEvent
- type GroupHistoryChangedEvent
- type GroupJoinedEvent
- type GroupLeftEvent
- type GroupMarkedEvent
- type GroupOpenEvent
- type GroupRenameEvent
- type GroupRenameInfo
- type GroupUnarchiveEvent
- type HeaderBlock
- type HeaderBlockOption
- type HelloEvent
- type History
- type HistoryParameters
- type HomeTabViewRequest
- type IDGenerator
- type IM
- type IMCloseEvent
- type IMCreatedEvent
- type IMHistoryChangedEvent
- type IMMarkedEvent
- type IMMarkedHistoryChanged
- type IMOpenEvent
- type Icon
- type Icons
- type ImageBlock
- type ImageBlockElement
- type IncomingEventError
- type Info
- type InputBlock
- type InputType
- type InteractionCallback
- type InteractionType
- type InteractionWorkflowStep
- type Interactivity
- type InvalidAuthEvent
- type Item
- type ItemReaction
- type ItemRef
- type JSONTime
- type LatencyReport
- type ListFilesParameters
- type ListReactionsParameters
- type ListRemoteFilesParameters
- type ListStarsOption
- type ListTeamsParameters
- type Login
- type LoginResponse
- type Manifest
- type ManifestMetadata
- type ManifestResponse
- type ManifestSlashCommand
- type ManifestValidationError
- type ManualPresenceChangeEvent
- type MemberJoinedChannelEvent
- type MemberLeftChannelEvent
- type Message
- type MessageBlockType
- type MessageElementType
- type MessageEvent
- type MessageObjectType
- type MessageTooLongEvent
- type MixedElement
- type MixedElementType
- type MobileInAppNotificationEvent
- type ModalViewRequest
- type Msg
- type MsgOption
- func MsgOptionAsUser(b bool) MsgOption
- func MsgOptionAttachments(attachments ...Attachment) MsgOption
- func MsgOptionBlocks(blocks ...Block) MsgOption
- func MsgOptionBroadcast() MsgOption
- func MsgOptionCompose(options ...MsgOption) MsgOption
- func MsgOptionDelete(timestamp string) MsgOption
- func MsgOptionDeleteOriginal(responseURL string) MsgOption
- func MsgOptionDisableLinkUnfurl() MsgOption
- func MsgOptionDisableMarkdown() MsgOption
- func MsgOptionDisableMediaUnfurl() MsgOption
- func MsgOptionEnableLinkUnfurl() MsgOption
- func MsgOptionIconEmoji(iconEmoji string) MsgOption
- func MsgOptionIconURL(iconURL string) MsgOption
- func MsgOptionMeMessage() MsgOption
- func MsgOptionMetadata(metadata SlackMetadata) MsgOption
- func MsgOptionParse(b bool) MsgOption
- func MsgOptionPost() MsgOption
- func MsgOptionPostEphemeral(userID string) MsgOption
- func MsgOptionPostMessageParameters(params PostMessageParameters) MsgOption
- func MsgOptionReplaceOriginal(responseURL string) MsgOption
- func MsgOptionResponseURL(url string, responseType string) MsgOption
- func MsgOptionSchedule(postAt string) MsgOption
- func MsgOptionTS(ts string) MsgOption
- func MsgOptionText(text string, escape bool) MsgOption
- func MsgOptionUnfurl(timestamp string, unfurls map[string]Attachment) MsgOption
- func MsgOptionUnfurlAuthMessage(timestamp string, msg string) MsgOption
- func MsgOptionUnfurlAuthRequired(timestamp string) MsgOption
- func MsgOptionUnfurlAuthURL(timestamp string, userAuthURL string) MsgOption
- func MsgOptionUpdate(timestamp string) MsgOption
- func MsgOptionUser(userID string) MsgOption
- func MsgOptionUsername(username string) MsgOption
- func UnsafeMsgOptionEndpoint(endpoint string, update func(url.Values)) MsgOption
- type MultiSelectBlockElement
- type NumberInputBlockElement
- type OAuthConfig
- type OAuthResponse
- type OAuthResponseBot
- func GetBotOAuthToken(client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, bot OAuthResponseBot, err error)
- func GetBotOAuthTokenContext(ctx context.Context, client httpClient, ...) (accessToken string, scope string, bot OAuthResponseBot, err error)
- type OAuthResponseIncomingWebhook
- type OAuthScopes
- type OAuthV2Response
- func GetOAuthV2Response(client httpClient, clientID, clientSecret, code, redirectURI string) (resp *OAuthV2Response, err error)
- func GetOAuthV2ResponseContext(ctx context.Context, client httpClient, ...) (resp *OAuthV2Response, err error)
- func RefreshOAuthV2Token(client httpClient, clientID, clientSecret, refreshToken string) (resp *OAuthV2Response, err error)
- func RefreshOAuthV2TokenContext(ctx context.Context, client httpClient, ...) (resp *OAuthV2Response, err error)
- type OAuthV2ResponseAuthedUser
- type OAuthV2ResponseEnterprise
- type OAuthV2ResponseTeam
- type OpenConversationParameters
- type Option
- type OptionBlockObject
- type OptionGroupBlockObject
- type OptionGroupsResponse
- type OptionsResponse
- type OutgoingErrorEvent
- type OutgoingMessage
- type OverflowBlockElement
- type Pagination
- type Paging
- type ParamOption
- type PermalinkParameters
- type PinAddedEvent
- type PinRemovedEvent
- type Ping
- type PlainTextInputBlockElement
- type Pong
- type PostMessageParameters
- type PrefChangeEvent
- type PresenceChangeEvent
- type Purpose
- type RTM
- func (rtm *RTM) Disconnect() error
- func (rtm *RTM) GetInfo() *Info
- func (rtm *RTM) ManageConnection()
- func (rtm *RTM) NewOutgoingMessage(text string, channelID string, options ...RTMsgOption) *OutgoingMessage
- func (rtm *RTM) NewSubscribeUserPresence(ids []string) *OutgoingMessage
- func (rtm *RTM) NewTypingMessage(channelID string) *OutgoingMessage
- func (rtm *RTM) SendMessage(msg *OutgoingMessage)
- type RTMError
- type RTMEvent
- type RTMOption
- type RTMResponse
- type RTMsgOption
- type RadioButtonsBlockElement
- type RateLimitEvent
- type RateLimitedError
- type ReactedItem
- type ReactionAddedEvent
- type ReactionEvent
- type ReactionItem
- type ReactionRemovedEvent
- type ReconnectUrlEvent
- type Reminder
- type RemoteFile
- type RemoteFileParameters
- type Reply
- type ResponseMetadata
- type RichTextBlock
- type RichTextElement
- type RichTextElementType
- type RichTextList
- type RichTextListElementType
- type RichTextSection
- type RichTextSectionBroadcastElement
- type RichTextSectionChannelElement
- type RichTextSectionColorElement
- type RichTextSectionDateElement
- type RichTextSectionElement
- type RichTextSectionElementType
- type RichTextSectionEmojiElement
- type RichTextSectionLinkElement
- type RichTextSectionTeamElement
- type RichTextSectionTextElement
- type RichTextSectionTextStyle
- type RichTextSectionUnknownElement
- type RichTextSectionUserElement
- type RichTextSectionUserGroupElement
- type RichTextUnknown
- type ScheduledMessage
- type SearchFiles
- type SearchMessage
- type SearchMessages
- type SearchParameters
- type SecretsVerifier
- type SectionBlock
- type SectionBlockOption
- type SelectBlockElement
- type SelectBlockElementFilter
- type SelectDataSource
- type Settings
- type Share
- type ShareFileInfo
- type Shortcut
- type ShortcutType
- type SlackErrorResponse
- type SlackMetadata
- type SlackResponse
- type SlashCommand
- type SnoozeDebug
- type SnoozeInfo
- type SocketModeConnection
- type StarAddedEvent
- type StarRemovedEvent
- type StarredItem
- type StarredItemPagination
- type StarsParameters
- type StatusCodeError
- type Style
- type SubteamCreatedEvent
- type SubteamMembersChangedEvent
- type SubteamSelfAddedEvent
- type SubteamSelfRemovedEvent
- type SubteamUpdatedEvent
- type Team
- type TeamDomainChangeEvent
- type TeamIdentity
- type TeamInfo
- type TeamJoinEvent
- type TeamMigrationStartedEvent
- type TeamPrefChangeEvent
- type TeamProfile
- type TeamProfileField
- type TeamProfileResponse
- type TeamRenameEvent
- type TeamResponse
- type TextBlockObject
- type TextInputElement
- type TextInputOption
- type TextInputSubtype
- type TimePickerBlockElement
- type TokenResponse
- type Topic
- type URLTextInputBlockElement
- type UnknownBlock
- type UnknownBlockElement
- type UnmappedError
- type UnmarshallingErrorEvent
- type UpdateManifestResponse
- type UpdateUserGroupsOption
- func UpdateUserGroupsOptionChannels(channels []string) UpdateUserGroupsOption
- func UpdateUserGroupsOptionDescription(description *string) UpdateUserGroupsOption
- func UpdateUserGroupsOptionHandle(handle string) UpdateUserGroupsOption
- func UpdateUserGroupsOptionName(name string) UpdateUserGroupsOption
- type UpdateUserGroupsParams
- type UploadFileV2Parameters
- type User
- type UserChangeEvent
- type UserDetails
- type UserGroup
- type UserGroupPrefs
- type UserIdentity
- type UserIdentityResponse
- type UserPagination
- type UserPrefs
- type UserPrefsCarrier
- type UserPresence
- type UserProfile
- type UserProfileCustomField
- type UserProfileCustomFields
- func (fields *UserProfileCustomFields) Len() int
- func (fields UserProfileCustomFields) MarshalJSON() ([]byte, error)
- func (fields *UserProfileCustomFields) SetMap(m map[string]UserProfileCustomField)
- func (fields *UserProfileCustomFields) ToMap() map[string]UserProfileCustomField
- func (fields *UserProfileCustomFields) UnmarshalJSON(b []byte) error
- type UserProfileStatusEmojiDisplayInfo
- type UserSetPhotoParams
- type UserTypingEvent
- type VideoBlock
- func (s VideoBlock) BlockType() MessageBlockType
- func (s *VideoBlock) WithAuthorName(authorName string) *VideoBlock
- func (s *VideoBlock) WithDescription(description *TextBlockObject) *VideoBlock
- func (s *VideoBlock) WithProviderIconURL(providerIconURL string) *VideoBlock
- func (s *VideoBlock) WithProviderName(providerName string) *VideoBlock
- func (s *VideoBlock) WithTitleURL(titleURL string) *VideoBlock
- type View
- type ViewClosedCallback
- type ViewResponse
- type ViewResponseAction
- type ViewState
- type ViewSubmissionCallback
- type ViewSubmissionCallbackResponseURL
- type ViewSubmissionResponse
- func NewClearViewSubmissionResponse() *ViewSubmissionResponse
- func NewErrorsViewSubmissionResponse(errors map[string]string) *ViewSubmissionResponse
- func NewPushViewSubmissionResponse(view *ModalViewRequest) *ViewSubmissionResponse
- func NewUpdateViewSubmissionResponse(view *ModalViewRequest) *ViewSubmissionResponse
- type ViewType
- type WebhookMessage
- type WorkflowStep
- type WorkflowStepCompleteResponse
- type WorkflowStepCompletedRequest
- type WorkflowStepCompletedRequestOption
- type WorkflowStepFailedRequest
- type WorkflowStepInputElement
- type WorkflowStepInputs
- type WorkflowStepOutput
Examples ¶
Constants ¶
const ( METCheckboxGroups MessageElementType = "checkboxes" METImage MessageElementType = "image" METButton MessageElementType = "button" METOverflow MessageElementType = "overflow" METDatepicker MessageElementType = "datepicker" METTimepicker MessageElementType = "timepicker" METDatetimepicker MessageElementType = "datetimepicker" METPlainTextInput MessageElementType = "plain_text_input" METRadioButtons MessageElementType = "radio_buttons" METEmailTextInput MessageElementType = "email_text_input" METURLTextInput MessageElementType = "url_text_input" METNumber MessageElementType = "number_input" MixedElementImage MixedElementType = "mixed_image" MixedElementText MixedElementType = "mixed_text" OptTypeStatic string = "static_select" OptTypeExternal string = "external_select" OptTypeUser string = "users_select" OptTypeConversations string = "conversations_select" OptTypeChannels string = "channels_select" MultiOptTypeStatic string = "multi_static_select" MultiOptTypeExternal string = "multi_external_select" MultiOptTypeUser string = "multi_users_select" MultiOptTypeConversations string = "multi_conversations_select" MultiOptTypeChannels string = "multi_channels_select" )
const ( MarkdownType = "mrkdwn" PlainTextType = "plain_text" )
blockObject object types
const ( DEFAULT_MESSAGE_USERNAME = "" DEFAULT_MESSAGE_REPLY_BROADCAST = false DEFAULT_MESSAGE_ASUSER = false DEFAULT_MESSAGE_PARSE = "" DEFAULT_MESSAGE_THREAD_TIMESTAMP = "" DEFAULT_MESSAGE_LINK_NAMES = 0 DEFAULT_MESSAGE_UNFURL_LINKS = false DEFAULT_MESSAGE_UNFURL_MEDIA = true DEFAULT_MESSAGE_ICON_URL = "" DEFAULT_MESSAGE_ICON_EMOJI = "" DEFAULT_MESSAGE_MARKDOWN = true DEFAULT_MESSAGE_ESCAPE_TEXT = true )
const ( ErrAlreadyDisconnected = errorsx.String("Invalid call to Disconnect - Slack API is already disconnected") ErrRTMDisconnected = errorsx.String("disconnect received while trying to connect") ErrRTMGoodbye = errorsx.String("goodbye detected") ErrRTMDeadman = errorsx.String("deadman switch triggered") ErrParametersMissing = errorsx.String("received empty parameters") ErrBlockIDNotUnique = errorsx.String("Block ID needs to be unique") ErrInvalidConfiguration = errorsx.String("invalid configuration") ErrMissingHeaders = errorsx.String("missing headers") ErrExpiredTimestamp = errorsx.String("timestamp is too old") )
Errors returned by various methods.
const ( // Add here the defaults in the siten DEFAULT_FILES_USER = "" DEFAULT_FILES_CHANNEL = "" DEFAULT_FILES_TS_FROM = 0 DEFAULT_FILES_TS_TO = -1 DEFAULT_FILES_TYPES = "all" DEFAULT_FILES_COUNT = 100 DEFAULT_FILES_PAGE = 1 DEFAULT_FILES_SHOW_HIDDEN = false )
const ( DEFAULT_HISTORY_LATEST = "" DEFAULT_HISTORY_OLDEST = "0" DEFAULT_HISTORY_COUNT = 100 DEFAULT_HISTORY_INCLUSIVE = false DEFAULT_HISTORY_UNREADS = false )
const ( InteractionTypeDialogCancellation = InteractionType("dialog_cancellation") InteractionTypeDialogSubmission = InteractionType("dialog_submission") InteractionTypeDialogSuggestion = InteractionType("dialog_suggestion") InteractionTypeInteractionMessage = InteractionType("interactive_message") InteractionTypeMessageAction = InteractionType("message_action") InteractionTypeBlockActions = InteractionType("block_actions") InteractionTypeBlockSuggestion = InteractionType("block_suggestion") InteractionTypeViewSubmission = InteractionType("view_submission") InteractionTypeViewClosed = InteractionType("view_closed") InteractionTypeShortcut = InteractionType("shortcut") InteractionTypeWorkflowStepEdit = InteractionType("workflow_step_edit") )
Types of interactions that can be received.
const ( TYPE_MESSAGE = "message" TYPE_FILE = "file" TYPE_FILE_COMMENT = "file_comment" TYPE_CHANNEL = "channel" TYPE_IM = "im" TYPE_GROUP = "group" )
const ( MsgSubTypeBotMessage = "bot_message" // [Events API, RTM] A message was posted by an integration MsgSubTypeMeMessage = "me_message" // [Events API, RTM] A /me message was sent MsgSubTypeMessageChanged = "message_changed" // [Events API, RTM] A message was changed MsgSubTypeMessageDeleted = "message_deleted" // [Events API, RTM] A message was deleted MsgSubTypeMessageReplied = "message_replied" // [Events API, RTM] A message thread received a reply MsgSubTypeReplyBroadcast = "reply_broadcast" // @Deprecated (No longer served) A message thread's reply was broadcast to a channel MsgSubTypeThreadBroadcast = "thread_broadcast" // [Events API, RTM] A message thread's reply was broadcast to a channel MsgSubTypeChannelJoin = "channel_join" // [Events API, RTM] A member joined a channel MsgSubTypeChannelLeave = "channel_leave" // [Events API, RTM] A member left a channel MsgSubTypeChannelTopic = "channel_topic" // [Events API, RTM] A channel topic was updated MsgSubTypeChannelPurpose = "channel_purpose" // [Events API, RTM] A channel purpose was updated MsgSubTypeChannelName = "channel_name" // [Events API, RTM] A channel was renamed MsgSubTypeChannelArchive = "channel_archive" // [Events API, RTM] A channel was archived MsgSubTypeChannelUnarchive = "channel_unarchive" // [Events API, RTM] A channel was unarchived MsgSubTypeGroupJoin = "group_join" // [RTM] A member joined a group MsgSubTypeGroupLeave = "group_leave" // [RTM] A member left a group MsgSubTypeGroupTopic = "group_topic" // [RTM] A group topic was updated MsgSubTypeGroupPurpose = "group_purpose" // [RTM] A group purpose was updated MsgSubTypeGroupName = "group_name" // [RTM] A group was renamed MsgSubTypeGroupArchive = "group_archive" // [RTM] A group was archived MsgSubTypeGroupUnarchive = "group_unarchive" // [RTM] A group was unarchived MsgSubTypeFileComment = "file_comment" // [RTM] A comment was added to a file MsgSubTypeGileMention = "file_mention" // [RTM] A file was mentioned in a channel MsgSubTypePinnedItem = "pinned_item" // [RTM] An item was pinned in a channel MsgSubTypeUnpinnedItem = "unpinned_item" // [RTM] An item was unpinned from a channel MsgSubTypeEkmAccessDenied = "ekm_access_denied" // [Events API, RTM] Message content redacted due to Enterprise Key Management (EKM) MsgSubTypeChannelPostingPermissions = "channel_posting_permissions" // [Events API, RTM] The posting permissions for a channel changed )
Msg SubTypes (https://api.slack.com/events/message)
const ( // ResponseTypeInChannel in channel response for slash commands. ResponseTypeInChannel = "in_channel" // ResponseTypeEphemeral ephemeral response for slash commands. ResponseTypeEphemeral = "ephemeral" )
const ( DEFAULT_REACTIONS_USER = "" DEFAULT_REACTIONS_COUNT = 100 DEFAULT_REACTIONS_PAGE = 1 DEFAULT_REACTIONS_FULL = false )
const ( DEFAULT_REMOTE_FILES_CHANNEL = "" DEFAULT_REMOTE_FILES_TS_FROM = 0 DEFAULT_REMOTE_FILES_TS_TO = -1 DEFAULT_REMOTE_FILES_COUNT = 100 )
const ( DEFAULT_SEARCH_SORT = "score" DEFAULT_SEARCH_SORT_DIR = "desc" DEFAULT_SEARCH_HIGHLIGHT = false DEFAULT_SEARCH_COUNT = 20 DEFAULT_SEARCH_PAGE = 1 )
const ( // APIURL of the slack api. APIURL = "https://slack.com/api/" // WEBAPIURLFormat ... WEBAPIURLFormat = "https://%s.slack.com/api/users.admin.%s?t=%d" )
const ( DEFAULT_STARS_USER = "" DEFAULT_STARS_COUNT = 100 DEFAULT_STARS_PAGE = 1 )
const ( DEFAULT_LOGINS_COUNT = 100 DEFAULT_LOGINS_PAGE = 1 )
const ( DEFAULT_USER_PHOTO_CROP_X = -1 DEFAULT_USER_PHOTO_CROP_Y = -1 DEFAULT_USER_PHOTO_CROP_W = -1 )
const ( // MaxMessageTextLength is the current maximum message length in number of characters as defined here // https://api.slack.com/rtm#limits MaxMessageTextLength = 4000 )
Variables ¶
var EventMapping = map[string]interface{}{ "message": MessageEvent{}, "presence_change": PresenceChangeEvent{}, "user_typing": UserTypingEvent{}, "channel_marked": ChannelMarkedEvent{}, "channel_created": ChannelCreatedEvent{}, "channel_joined": ChannelJoinedEvent{}, "channel_left": ChannelLeftEvent{}, "channel_deleted": ChannelDeletedEvent{}, "channel_rename": ChannelRenameEvent{}, "channel_archive": ChannelArchiveEvent{}, "channel_unarchive": ChannelUnarchiveEvent{}, "channel_history_changed": ChannelHistoryChangedEvent{}, "dnd_updated": DNDUpdatedEvent{}, "dnd_updated_user": DNDUpdatedEvent{}, "im_created": IMCreatedEvent{}, "im_open": IMOpenEvent{}, "im_close": IMCloseEvent{}, "im_marked": IMMarkedEvent{}, "im_history_changed": IMHistoryChangedEvent{}, "group_marked": GroupMarkedEvent{}, "group_open": GroupOpenEvent{}, "group_joined": GroupJoinedEvent{}, "group_left": GroupLeftEvent{}, "group_close": GroupCloseEvent{}, "group_rename": GroupRenameEvent{}, "group_archive": GroupArchiveEvent{}, "group_unarchive": GroupUnarchiveEvent{}, "group_history_changed": GroupHistoryChangedEvent{}, "file_created": FileCreatedEvent{}, "file_shared": FileSharedEvent{}, "file_unshared": FileUnsharedEvent{}, "file_public": FilePublicEvent{}, "file_private": FilePrivateEvent{}, "file_change": FileChangeEvent{}, "file_deleted": FileDeletedEvent{}, "file_comment_added": FileCommentAddedEvent{}, "file_comment_edited": FileCommentEditedEvent{}, "file_comment_deleted": FileCommentDeletedEvent{}, "pin_added": PinAddedEvent{}, "pin_removed": PinRemovedEvent{}, "star_added": StarAddedEvent{}, "star_removed": StarRemovedEvent{}, "reaction_added": ReactionAddedEvent{}, "reaction_removed": ReactionRemovedEvent{}, "pref_change": PrefChangeEvent{}, "team_join": TeamJoinEvent{}, "team_rename": TeamRenameEvent{}, "team_pref_change": TeamPrefChangeEvent{}, "team_domain_change": TeamDomainChangeEvent{}, "team_migration_started": TeamMigrationStartedEvent{}, "manual_presence_change": ManualPresenceChangeEvent{}, "user_change": UserChangeEvent{}, "emoji_changed": EmojiChangedEvent{}, "commands_changed": CommandsChangedEvent{}, "email_domain_changed": EmailDomainChangedEvent{}, "bot_added": BotAddedEvent{}, "bot_changed": BotChangedEvent{}, "accounts_changed": AccountsChangedEvent{}, "reconnect_url": ReconnectUrlEvent{}, "member_joined_channel": MemberJoinedChannelEvent{}, "member_left_channel": MemberLeftChannelEvent{}, "subteam_created": SubteamCreatedEvent{}, "subteam_members_changed": SubteamMembersChangedEvent{}, "subteam_self_added": SubteamSelfAddedEvent{}, "subteam_self_removed": SubteamSelfRemovedEvent{}, "subteam_updated": SubteamUpdatedEvent{}, "desktop_notification": DesktopNotificationEvent{}, "mobile_in_app_notification": MobileInAppNotificationEvent{}, }
EventMapping holds a mapping of event names to their corresponding struct implementations. The structs should be instances of the unmarshalling target for the matching event type.
Functions ¶
func GetOAuthToken ¶
func GetOAuthToken(client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, err error)
GetOAuthToken retrieves an AccessToken
func GetOAuthTokenContext ¶
func GetOAuthTokenContext(ctx context.Context, client httpClient, clientID, clientSecret, code, redirectURI string) (accessToken string, scope string, err error)
GetOAuthTokenContext retrieves an AccessToken with a custom context
func OptionAPIURL ¶
OptionAPIURL set the url for the client. only useful for testing.
func OptionAppLevelToken ¶
OptionAppLevelToken sets an app-level token for the client.
func OptionConfigRefreshToken ¶
OptionConfigRefreshToken sets a configuration refresh token for the client.
func OptionConfigToken ¶
OptionConfigToken sets a configuration token for the client.
func OptionDebug ¶
OptionDebug enable debugging for the client
func OptionHTTPClient ¶
func OptionHTTPClient(client httpClient) func(*Client)
OptionHTTPClient - provide a custom http client to the slack client.
func PostWebhook ¶
func PostWebhook(url string, msg *WebhookMessage) error
func PostWebhookContext ¶
func PostWebhookContext(ctx context.Context, url string, msg *WebhookMessage) error
func PostWebhookCustomHTTP ¶
func PostWebhookCustomHTTP(url string, httpClient *http.Client, msg *WebhookMessage) error
func UnsafeApplyMsgOptions ¶
func UnsafeApplyMsgOptions(token, channel, apiurl string, options ...MsgOption) (string, url.Values, error)
UnsafeApplyMsgOptions utility function for debugging/testing chat requests. NOTE: USE AT YOUR OWN RISK: No issues relating to the use of this function will be supported by the library.
func ValidateUniqueBlockID ¶
func ValidateUniqueBlockID(view ModalViewRequest) bool
ValidateUniqueBlockID will verify if each input block has a unique block ID if set
Types ¶
type AccessLogParameters ¶
AccessLogParameters contains all the parameters necessary (including the optional ones) for a GetAccessLogs() request
func NewAccessLogParameters ¶
func NewAccessLogParameters() AccessLogParameters
NewAccessLogParameters provides an instance of AccessLogParameters with all the sane default values set
type Accessory ¶
type Accessory struct { ImageElement *ImageBlockElement ButtonElement *ButtonBlockElement OverflowElement *OverflowBlockElement DatePickerElement *DatePickerBlockElement TimePickerElement *TimePickerBlockElement PlainTextInputElement *PlainTextInputBlockElement RadioButtonsElement *RadioButtonsBlockElement SelectElement *SelectBlockElement MultiSelectElement *MultiSelectBlockElement CheckboxGroupsBlockElement *CheckboxGroupsBlockElement UnknownElement *UnknownBlockElement }
func NewAccessory ¶
func NewAccessory(element BlockElement) *Accessory
NewAccessory returns a new Accessory for a given block element
func (*Accessory) MarshalJSON ¶
MarshalJSON implements the Marshaller interface for Accessory so that any JSON marshalling is delegated and proper type determination can be made before marshal
func (*Accessory) UnmarshalJSON ¶
UnmarshalJSON implements the Unmarshaller interface for Accessory, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal Note: datetimepicker is not supported in Accessory
type AccountsChangedEvent ¶
type AccountsChangedEvent struct {
Type string `json:"type"`
}
AccountsChangedEvent represents the accounts changed event
type AckErrorEvent ¶
AckErrorEvent i
func (*AckErrorEvent) Error ¶
func (a *AckErrorEvent) Error() string
type AckMessage ¶
type AckMessage struct { ReplyTo int `json:"reply_to"` Timestamp string `json:"ts"` Text string `json:"text"` RTMResponse }
AckMessage is used for messages received in reply to other messages
type ActionBlock ¶
type ActionBlock struct { Type MessageBlockType `json:"type"` BlockID string `json:"block_id,omitempty"` Elements *BlockElements `json:"elements"` }
ActionBlock defines data that is used to hold interactive elements.
More Information: https://api.slack.com/reference/messaging/blocks#actions
func NewActionBlock ¶
func NewActionBlock(blockID string, elements ...BlockElement) *ActionBlock
NewActionBlock returns a new instance of an Action Block
func (ActionBlock) BlockType ¶
func (s ActionBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type ActionCallbacks ¶
type ActionCallbacks struct { AttachmentActions []*AttachmentAction BlockActions []*BlockAction }
ActionCallback is a convenience struct defined to allow dynamic unmarshalling of the "actions" value in Slack's JSON response, which varies depending on block type
func (ActionCallbacks) MarshalJSON ¶
func (a ActionCallbacks) MarshalJSON() ([]byte, error)
MarshalJSON implements the Marshaller interface in order to combine both action callback types back into a single array, like how the api responds. This makes Marshaling and Unmarshaling an InteractionCallback symmetrical
func (*ActionCallbacks) UnmarshalJSON ¶
func (a *ActionCallbacks) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Marshaller interface in order to delegate marshalling and allow for proper type assertion when decoding the response
type ActionType ¶
type ActionType string
ActionType type represents the type of action (attachment, block, etc.)
type AddBookmarkParameters ¶
type AppHome ¶
type AppHome struct { HomeTabEnabled bool `json:"home_tab_enabled,omitempty" yaml:"home_tab_enabled,omitempty"` MessagesTabEnabled bool `json:"messages_tab_enabled,omitempty" yaml:"messages_tab_enabled,omitempty"` MessagesTabReadOnlyEnabled bool `json:"messages_tab_read_only_enabled,omitempty" yaml:"messages_tab_read_only_enabled,omitempty"` }
AppHome is a group of settings that describe the App Home configuration
type Attachment ¶
type Attachment struct { Color string `json:"color,omitempty"` Fallback string `json:"fallback,omitempty"` CallbackID string `json:"callback_id,omitempty"` ID int `json:"id,omitempty"` AuthorID string `json:"author_id,omitempty"` AuthorName string `json:"author_name,omitempty"` AuthorSubname string `json:"author_subname,omitempty"` AuthorLink string `json:"author_link,omitempty"` AuthorIcon string `json:"author_icon,omitempty"` Title string `json:"title,omitempty"` TitleLink string `json:"title_link,omitempty"` Pretext string `json:"pretext,omitempty"` Text string `json:"text,omitempty"` ImageURL string `json:"image_url,omitempty"` ThumbURL string `json:"thumb_url,omitempty"` ServiceName string `json:"service_name,omitempty"` ServiceIcon string `json:"service_icon,omitempty"` FromURL string `json:"from_url,omitempty"` OriginalURL string `json:"original_url,omitempty"` Fields []AttachmentField `json:"fields,omitempty"` Actions []AttachmentAction `json:"actions,omitempty"` MarkdownIn []string `json:"mrkdwn_in,omitempty"` Blocks Blocks `json:"blocks,omitempty"` Ts json.Number `json:"ts,omitempty"` }
Attachment contains all the information for an attachment
type AttachmentAction ¶
type AttachmentAction struct { Name string `json:"name"` // Required. Text string `json:"text"` // Required. Style string `json:"style,omitempty"` // Optional. Allowed values: "default", "primary", "danger". Type ActionType `json:"type"` // Required. Must be set to "button" or "select". Value string `json:"value,omitempty"` // Optional. DataSource string `json:"data_source,omitempty"` // Optional. MinQueryLength int `json:"min_query_length,omitempty"` // Optional. Default value is 1. Options []AttachmentActionOption `json:"options,omitempty"` // Optional. Maximum of 100 options can be provided in each menu. SelectedOptions []AttachmentActionOption `json:"selected_options,omitempty"` // Optional. The first element of this array will be set as the pre-selected option for this menu. OptionGroups []AttachmentActionOptionGroup `json:"option_groups,omitempty"` // Optional. Confirm *ConfirmationField `json:"confirm,omitempty"` // Optional. URL string `json:"url,omitempty"` // Optional. }
AttachmentAction is a button or menu to be included in the attachment. Required when using message buttons or menus and otherwise not useful. A maximum of 5 actions may be provided per attachment.
type AttachmentActionCallback ¶
type AttachmentActionCallback InteractionCallback
AttachmentActionCallback is sent from Slack when a user clicks a button in an interactive message (aka AttachmentAction) DEPRECATED: use InteractionCallback
type AttachmentActionOption ¶
type AttachmentActionOption struct { Text string `json:"text"` // Required. Value string `json:"value"` // Required. Description string `json:"description,omitempty"` // Optional. Up to 30 characters. }
AttachmentActionOption the individual option to appear in action menu.
type AttachmentActionOptionGroup ¶
type AttachmentActionOptionGroup struct { Text string `json:"text"` // Required. Options []AttachmentActionOption `json:"options"` // Required. }
AttachmentActionOptionGroup is a semi-hierarchal way to list available options to appear in action menu.
type AttachmentField ¶
type AttachmentField struct { Title string `json:"title"` Value string `json:"value"` Short bool `json:"short"` }
AttachmentField contains information for an attachment field An Attachment can contain multiple of these
type AuditChannel ¶
type AuditEnterprise ¶
type AuditEntry ¶
type AuditEntry struct { ID string `json:"id"` DateCreate int `json:"date_create"` Action string `json:"action"` Actor struct { Type string `json:"type"` User AuditUser `json:"user"` } `json:"actor"` Entity struct { Type string `json:"type"` // Only one of the below will be completed, based on the value of Type a user, a channel, a file, an app, a workspace, or an enterprise User AuditUser `json:"user"` Channel AuditChannel `json:"channel"` File AuditFile `json:"file"` App AuditApp `json:"app"` Workspace AuditWorkspace `json:"workspace"` Enterprise AuditEnterprise `json:"enterprise"` } `json:"entity"` Context struct { Location struct { Type string `json:"type"` ID string `json:"id"` Name string `json:"name"` Domain string `json:"domain"` } `json:"location"` UA string `json:"ua"` IPAddress string `json:"ip_address"` } `json:"context"` Details struct { NewValue interface{} `json:"new_value"` PreviousValue interface{} `json:"previous_value"` MobileOnly bool `json:"mobile_only"` WebOnly bool `json:"web_only"` NonSSOOnly bool `json:"non_sso_only"` ExportType string `json:"export_type"` ExportStart string `json:"export_start_ts"` ExportEnd string `json:"export_end_ts"` } `json:"details"` }
type AuditLogParameters ¶
type AuditLogParameters struct { Limit int Cursor string Latest int Oldest int Action string Actor string Entity string }
AuditLogParameters contains all the parameters necessary (including the optional ones) for a GetAuditLogs() request
type AuditLogResponse ¶
type AuditLogResponse struct { Entries []AuditEntry `json:"entries"` SlackResponse }
type AuditWorkspace ¶
type AuthRevokeResponse ¶
type AuthRevokeResponse struct { SlackResponse // Contains the "ok", and "Error", if any Revoked bool `json:"revoked,omitempty"` }
AuthRevokeResponse contains our Auth response from the auth.revoke endpoint
type AuthTestResponse ¶
type AuthTestResponse struct { URL string `json:"url"` Team string `json:"team"` User string `json:"user"` TeamID string `json:"team_id"` UserID string `json:"user_id"` // EnterpriseID is only returned when an enterprise id present EnterpriseID string `json:"enterprise_id,omitempty"` BotID string `json:"bot_id"` }
AuthTestResponse ...
type BillableInfoResponse ¶
type BillableInfoResponse struct { BillableInfo map[string]BillingActive `json:"billable_info"` SlackResponse }
type BillingActive ¶
type BillingActive struct {
BillingActive bool `json:"billing_active"`
}
type Block ¶
type Block interface {
BlockType() MessageBlockType
}
Block defines an interface all block types should implement to ensure consistency between blocks.
type BlockAction ¶
type BlockAction struct { ActionID string `json:"action_id"` BlockID string `json:"block_id"` Type ActionType `json:"type"` Text TextBlockObject `json:"text"` Value string `json:"value"` ActionTs string `json:"action_ts"` SelectedOption OptionBlockObject `json:"selected_option"` SelectedOptions []OptionBlockObject `json:"selected_options"` SelectedUser string `json:"selected_user"` SelectedUsers []string `json:"selected_users"` SelectedChannel string `json:"selected_channel"` SelectedChannels []string `json:"selected_channels"` SelectedConversation string `json:"selected_conversation"` SelectedConversations []string `json:"selected_conversations"` SelectedDate string `json:"selected_date"` SelectedTime string `json:"selected_time"` SelectedDateTime int64 `json:"selected_date_time"` InitialOption OptionBlockObject `json:"initial_option"` InitialUser string `json:"initial_user"` InitialChannel string `json:"initial_channel"` InitialConversation string `json:"initial_conversation"` InitialDate string `json:"initial_date"` InitialTime string `json:"initial_time"` }
BlockAction is the action callback sent when a block is interacted with
type BlockActionStates ¶
type BlockActionStates struct {
Values map[string]map[string]BlockAction `json:"values"`
}
type BlockElement ¶
type BlockElement interface {
ElementType() MessageElementType
}
BlockElement defines an interface that all block element types should implement.
type BlockElements ¶
type BlockElements struct {
ElementSet []BlockElement `json:"elements,omitempty"`
}
BlockElements is a convenience struct defined to allow dynamic unmarshalling of the "elements" value in Slack's JSON response, which varies depending on BlockElement type
func (*BlockElements) MarshalJSON ¶
func (b *BlockElements) MarshalJSON() ([]byte, error)
MarshalJSON implements the Marshaller interface for BlockElements so that any JSON marshalling is delegated and proper type determination can be made before marshal
func (*BlockElements) UnmarshalJSON ¶
func (b *BlockElements) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Unmarshaller interface for BlockElements, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal
type BlockObjects ¶
type BlockObjects struct { TextObjects []*TextBlockObject ConfirmationObjects []*ConfirmationBlockObject OptionObjects []*OptionBlockObject OptionGroupObjects []*OptionGroupBlockObject }
func (*BlockObjects) UnmarshalJSON ¶
func (b *BlockObjects) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Unmarshaller interface for BlockObjects, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal
type Blocks ¶
type Blocks struct {
BlockSet []Block `json:"blocks,omitempty"`
}
Blocks is a convenience struct defined to allow dynamic unmarshalling of the "blocks" value in Slack's JSON response, which varies depending on block type
func (Blocks) MarshalJSON ¶
MarshalJSON implements the Marshaller interface for Blocks so that any JSON marshalling is delegated and proper type determination can be made before marshal
func (*Blocks) UnmarshalJSON ¶
UnmarshalJSON implements the Unmarshaller interface for Blocks, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal
type Bookmark ¶
type Bookmark struct { ID string `json:"id"` ChannelID string `json:"channel_id"` Title string `json:"title"` Link string `json:"link"` Emoji string `json:"emoji"` IconURL string `json:"icon_url"` Type string `json:"type"` Created JSONTime `json:"date_created"` Updated JSONTime `json:"date_updated"` Rank string `json:"rank"` LastUpdatedByUserID string `json:"last_updated_by_user_id"` LastUpdatedByTeamID string `json:"last_updated_by_team_id"` ShortcutID string `json:"shortcut_id"` EntityID string `json:"entity_id"` AppID string `json:"app_id"` }
type Bot ¶
type Bot struct { ID string `json:"id"` Name string `json:"name"` Deleted bool `json:"deleted"` UserID string `json:"user_id"` AppID string `json:"app_id"` Updated JSONTime `json:"updated"` Icons Icons `json:"icons"` }
Bot contains information about a bot
type BotAddedEvent ¶
BotAddedEvent represents the bot added event
type BotChangedEvent ¶
BotChangedEvent represents the bot changed event
type BotProfile ¶
type BotProfile struct { AppID string `json:"app_id,omitempty"` Deleted bool `json:"deleted,omitempty"` Icons *Icons `json:"icons,omitempty"` ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` TeamID string `json:"team_id,omitempty"` Updated int64 `json:"updated,omitempty"` }
BotProfile contains information about a bot
type BotUser ¶
type BotUser struct { DisplayName string `json:"display_name" yaml:"display_name"` AlwaysOnline bool `json:"always_online,omitempty" yaml:"always_online,omitempty"` }
BotUser is a group of settings that describe bot user configuration
type ButtonBlockElement ¶
type ButtonBlockElement struct { Type MessageElementType `json:"type,omitempty"` Text *TextBlockObject `json:"text"` ActionID string `json:"action_id,omitempty"` URL string `json:"url,omitempty"` Value string `json:"value,omitempty"` Confirm *ConfirmationBlockObject `json:"confirm,omitempty"` Style Style `json:"style,omitempty"` }
ButtonBlockElement defines an interactive element that inserts a button. The button can be a trigger for anything from opening a simple link to starting a complex workflow.
More Information: https://api.slack.com/reference/messaging/block-elements#button
func NewButtonBlockElement ¶
func NewButtonBlockElement(actionID, value string, text *TextBlockObject) *ButtonBlockElement
NewButtonBlockElement returns an instance of a new button element to be used within a block
func (ButtonBlockElement) ElementType ¶
func (s ButtonBlockElement) ElementType() MessageElementType
ElementType returns the type of the element
func (*ButtonBlockElement) WithConfirm ¶
func (s *ButtonBlockElement) WithConfirm(confirm *ConfirmationBlockObject) *ButtonBlockElement
WithConfirm adds a confirmation dialogue to the button object and returns the modified ButtonBlockElement
func (*ButtonBlockElement) WithStyle ¶
func (s *ButtonBlockElement) WithStyle(style Style) *ButtonBlockElement
WithStyle adds styling to the button object and returns the modified ButtonBlockElement
type Channel ¶
type Channel struct { GroupConversation IsChannel bool `json:"is_channel"` IsGeneral bool `json:"is_general"` IsMember bool `json:"is_member"` Locale string `json:"locale"` }
Channel contains information about the channel
type ChannelArchiveEvent ¶
type ChannelArchiveEvent ChannelInfoEvent
ChannelArchiveEvent represents the Channel archive event
type ChannelCreatedEvent ¶
type ChannelCreatedEvent struct { Type string `json:"type"` Channel ChannelCreatedInfo `json:"channel"` EventTimestamp string `json:"event_ts"` }
ChannelCreatedEvent represents the Channel created event
type ChannelCreatedInfo ¶
type ChannelCreatedInfo struct { ID string `json:"id"` IsChannel bool `json:"is_channel"` Name string `json:"name"` Created int `json:"created"` Creator string `json:"creator"` }
ChannelCreatedInfo represents the information associated with the Channel created event
type ChannelDeletedEvent ¶
type ChannelDeletedEvent ChannelInfoEvent
ChannelDeletedEvent represents the Channel deleted event
type ChannelHistoryChangedEvent ¶
type ChannelHistoryChangedEvent struct { Type string `json:"type"` Latest string `json:"latest"` Timestamp string `json:"ts"` EventTimestamp string `json:"event_ts"` }
ChannelHistoryChangedEvent represents the Channel history changed event
type ChannelInfoEvent ¶
type ChannelInfoEvent struct { // channel_left // channel_deleted // channel_archive // channel_unarchive Type string `json:"type"` Channel string `json:"channel"` User string `json:"user,omitempty"` Timestamp string `json:"ts,omitempty"` }
ChannelInfoEvent represents the Channel info event
type ChannelJoinedEvent ¶
ChannelJoinedEvent represents the Channel joined event
type ChannelLeftEvent ¶
type ChannelLeftEvent ChannelInfoEvent
ChannelLeftEvent represents the Channel left event
type ChannelMarkedEvent ¶
type ChannelMarkedEvent ChannelInfoEvent
ChannelMarkedEvent represents the Channel marked event
type ChannelRenameEvent ¶
type ChannelRenameEvent struct { Type string `json:"type"` Channel ChannelRenameInfo `json:"channel"` Timestamp string `json:"event_ts"` }
ChannelRenameEvent represents the Channel rename event
type ChannelRenameInfo ¶
type ChannelRenameInfo struct { ID string `json:"id"` Name string `json:"name"` Created int `json:"created"` }
ChannelRenameInfo represents the information associated with a Channel rename event
type ChannelUnarchiveEvent ¶
type ChannelUnarchiveEvent ChannelInfoEvent
ChannelUnarchiveEvent represents the Channel unarchive event
type CheckboxGroupsBlockElement ¶
type CheckboxGroupsBlockElement struct { Type MessageElementType `json:"type"` ActionID string `json:"action_id,omitempty"` Options []*OptionBlockObject `json:"options"` InitialOptions []*OptionBlockObject `json:"initial_options,omitempty"` Confirm *ConfirmationBlockObject `json:"confirm,omitempty"` }
CheckboxGroupsBlockElement defines an element which allows users to choose one or more items from a list of possible options.
More Information: https://api.slack.com/reference/block-kit/block-elements#checkboxes
func NewCheckboxGroupsBlockElement ¶
func NewCheckboxGroupsBlockElement(actionID string, options ...*OptionBlockObject) *CheckboxGroupsBlockElement
NewCheckboxGroupsBlockElement returns an instance of a checkbox-group block element
func (CheckboxGroupsBlockElement) ElementType ¶
func (c CheckboxGroupsBlockElement) ElementType() MessageElementType
ElementType returns the type of the Element
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) AddBookmark ¶
func (api *Client) AddBookmark(channelID string, params AddBookmarkParameters) (Bookmark, error)
AddBookmark adds a bookmark in a channel
func (*Client) AddBookmarkContext ¶
func (api *Client) AddBookmarkContext(ctx context.Context, channelID string, params AddBookmarkParameters) (Bookmark, error)
AddBookmarkContext adds a bookmark in a channel with a custom context
func (*Client) AddChannelReminder ¶
AddChannelReminder adds a reminder for a channel.
See https://api.slack.com/methods/reminders.add (NOTE: the ability to set reminders on a channel is currently undocumented but has been tested to work)
func (*Client) AddChannelReminderContext ¶
func (api *Client) AddChannelReminderContext(ctx context.Context, channelID, text, time string) (*Reminder, error)
AddChannelReminderContext adds a reminder for a channel with a custom context
For more details, see AddChannelReminder documentation.
func (*Client) AddPinContext ¶
AddPinContext pins an item in a channel with a custom context
func (*Client) AddReaction ¶
AddReaction adds a reaction emoji to a message, file or file comment.
func (*Client) AddReactionContext ¶
AddReactionContext adds a reaction emoji to a message, file or file comment with a custom context.
func (*Client) AddRemoteFile ¶
func (api *Client) AddRemoteFile(params RemoteFileParameters) (*RemoteFile, error)
AddRemoteFile adds a remote file. Unlike regular files, remote files must be explicitly shared. For more details: https://api.slack.com/methods/files.remote.add
func (*Client) AddRemoteFileContext ¶
func (api *Client) AddRemoteFileContext(ctx context.Context, params RemoteFileParameters) (remotefile *RemoteFile, err error)
AddRemoteFileContext adds a remote file and setting a custom context For more details see the AddRemoteFile documentation.
func (*Client) AddStarContext ¶
AddStarContext stars an item in a channel with a custom context
func (*Client) AddUserReminder ¶
AddUserReminder adds a reminder for a user.
See https://api.slack.com/methods/reminders.add (NOTE: the ability to set reminders on a channel is currently undocumented but has been tested to work)
func (*Client) AddUserReminderContext ¶
func (api *Client) AddUserReminderContext(ctx context.Context, userID, text, time string) (*Reminder, error)
AddUserReminderContext adds a reminder for a user with a custom context
For more details, see AddUserReminder documentation.
func (*Client) ArchiveConversation ¶
ArchiveConversation archives a conversation
func (*Client) ArchiveConversationContext ¶
ArchiveConversationContext archives a conversation with a custom context
func (*Client) AuthTest ¶
func (api *Client) AuthTest() (response *AuthTestResponse, error error)
AuthTest tests if the user is able to do authenticated requests or not
func (*Client) AuthTestContext ¶
func (api *Client) AuthTestContext(ctx context.Context) (response *AuthTestResponse, err error)
AuthTestContext tests if the user is able to do authenticated requests or not with a custom context
func (*Client) CloseConversation ¶
CloseConversation closes a direct message or multi-person direct message
func (*Client) CloseConversationContext ¶
func (api *Client) CloseConversationContext(ctx context.Context, channelID string) (noOp bool, alreadyClosed bool, err error)
CloseConversationContext closes a direct message or multi-person direct message with a custom context
func (*Client) ConnectRTM ¶
ConnectRTM calls the "rtm.connect" endpoint and returns the provided URL and the compact Info block.
To have a fully managed Websocket connection, use `NewRTM`, and call `ManageConnection()` on it.
func (*Client) ConnectRTMContext ¶
func (api *Client) ConnectRTMContext(ctx context.Context) (info *Info, websocketURL string, err error)
ConnectRTMContext calls the "rtm.connect" endpoint and returns the provided URL and the compact Info block with a custom context.
To have a fully managed Websocket connection, use `NewRTM`, and call `ManageConnection()` on it.
func (*Client) CreateConversation ¶
func (api *Client) CreateConversation(params CreateConversationParams) (*Channel, error)
CreateConversation initiates a public or private channel-based conversation
func (*Client) CreateConversationContext ¶
func (api *Client) CreateConversationContext(ctx context.Context, params CreateConversationParams) (*Channel, error)
CreateConversationContext initiates a public or private channel-based conversation with a custom context
func (*Client) CreateManifest ¶
func (api *Client) CreateManifest(manifest *Manifest, token string) (*ManifestResponse, error)
CreateManifest creates an app from an app manifest
func (*Client) CreateManifestContext ¶
func (api *Client) CreateManifestContext(ctx context.Context, manifest *Manifest, token string) (*ManifestResponse, error)
CreateManifestContext creates an app from an app manifest with a custom context
func (*Client) CreateUserGroup ¶
CreateUserGroup creates a new user group
func (*Client) CreateUserGroupContext ¶
func (api *Client) CreateUserGroupContext(ctx context.Context, userGroup UserGroup) (UserGroup, error)
CreateUserGroupContext creates a new user group with a custom context
func (*Client) DeleteFile ¶
DeleteFile deletes a file
func (*Client) DeleteFileComment ¶
DeleteFileComment deletes a file's comment
func (*Client) DeleteFileCommentContext ¶
func (api *Client) DeleteFileCommentContext(ctx context.Context, fileID, commentID string) (err error)
DeleteFileCommentContext deletes a file's comment with a custom context
func (*Client) DeleteFileContext ¶
DeleteFileContext deletes a file with a custom context
func (*Client) DeleteManifest ¶
func (api *Client) DeleteManifest(token string, appId string) (*SlackResponse, error)
DeleteManifest permanently deletes an app created through app manifests
func (*Client) DeleteManifestContext ¶
func (api *Client) DeleteManifestContext(ctx context.Context, token string, appId string) (*SlackResponse, error)
DeleteManifestContext permanently deletes an app created through app manifests with a custom context
func (*Client) DeleteMessage ¶
DeleteMessage deletes a message in a channel
func (*Client) DeleteMessageContext ¶
func (api *Client) DeleteMessageContext(ctx context.Context, channel, messageTimestamp string) (string, string, error)
DeleteMessageContext deletes a message in a channel with a custom context
func (*Client) DeleteReminder ¶
DeleteReminder deletes an existing reminder.
func (*Client) DeleteReminderContext ¶
DeleteReminderContext deletes an existing reminder with a custom context
For more details, see DeleteReminder documentation.
func (*Client) DeleteScheduledMessage ¶
func (api *Client) DeleteScheduledMessage(params *DeleteScheduledMessageParameters) (bool, error)
DeleteScheduledMessage returns the list of scheduled messages based on params
func (*Client) DeleteScheduledMessageContext ¶
func (api *Client) DeleteScheduledMessageContext(ctx context.Context, params *DeleteScheduledMessageParameters) (bool, error)
DeleteScheduledMessageContext returns the list of scheduled messages in a Slack team with a custom context
func (*Client) DeleteUserPhoto ¶
DeleteUserPhoto deletes the current authenticated user's profile image
func (*Client) DeleteUserPhotoContext ¶
DeleteUserPhotoContext deletes the current authenticated user's profile image with a custom context
func (*Client) DisableUser ¶
DisableUser disabled a user account, given a user ID
func (*Client) DisableUserContext ¶
DisableUserContext disabled a user account, given a user ID with a custom context
func (*Client) DisableUserGroup ¶
DisableUserGroup disables an existing user group
func (*Client) DisableUserGroupContext ¶
func (api *Client) DisableUserGroupContext(ctx context.Context, userGroup string) (UserGroup, error)
DisableUserGroupContext disables an existing user group with a custom context
func (*Client) EditBookmark ¶
func (api *Client) EditBookmark(channelID, bookmarkID string, params EditBookmarkParameters) (Bookmark, error)
func (*Client) EditBookmarkContext ¶
func (*Client) EnableUserGroup ¶
EnableUserGroup enables an existing user group
func (*Client) EnableUserGroupContext ¶
EnableUserGroupContext enables an existing user group with a custom context
func (*Client) EndDNDContext ¶
EndDNDContext ends the user's scheduled Do Not Disturb session with a custom context
func (*Client) EndSnoozeContext ¶
EndSnoozeContext ends the current user's snooze mode with a custom context
func (*Client) ExportManifest ¶
ExportManifest exports an app manifest from an existing app
func (*Client) ExportManifestContext ¶
func (api *Client) ExportManifestContext(ctx context.Context, token string, appId string) (*Manifest, error)
ExportManifestContext exports an app manifest from an existing app with a custom context
func (*Client) GetAccessLogs ¶
func (api *Client) GetAccessLogs(params AccessLogParameters) ([]Login, *Paging, error)
GetAccessLogs retrieves a page of logins according to the parameters given
func (*Client) GetAccessLogsContext ¶
func (api *Client) GetAccessLogsContext(ctx context.Context, params AccessLogParameters) ([]Login, *Paging, error)
GetAccessLogsContext retrieves a page of logins according to the parameters given with a custom context
func (*Client) GetAuditLogs ¶
func (api *Client) GetAuditLogs(params AuditLogParameters) (entries []AuditEntry, nextCursor string, err error)
GetAuditLogs retrieves a page of audit entires according to the parameters given
func (*Client) GetAuditLogsContext ¶
func (api *Client) GetAuditLogsContext(ctx context.Context, params AuditLogParameters) (entries []AuditEntry, nextCursor string, err error)
GetAuditLogsContext retrieves a page of audit entries according to the parameters given with a custom context
func (*Client) GetBillableInfo ¶
func (api *Client) GetBillableInfo(user string) (map[string]BillingActive, error)
GetBillableInfo ...
func (*Client) GetBillableInfoContext ¶
func (api *Client) GetBillableInfoContext(ctx context.Context, user string) (map[string]BillingActive, error)
GetBillableInfoContext ...
func (*Client) GetBillableInfoForTeam ¶
func (api *Client) GetBillableInfoForTeam() (map[string]BillingActive, error)
GetBillableInfoForTeam returns the billing_active status of all users on the team.
func (*Client) GetBillableInfoForTeamContext ¶
func (api *Client) GetBillableInfoForTeamContext(ctx context.Context) (map[string]BillingActive, error)
GetBillableInfoForTeamContext returns the billing_active status of all users on the team with a custom context
func (*Client) GetBotInfo ¶
GetBotInfo will retrieve the complete bot information
func (*Client) GetBotInfoContext ¶
GetBotInfoContext will retrieve the complete bot information using a custom context
func (*Client) GetConversationHistory ¶
func (api *Client) GetConversationHistory(params *GetConversationHistoryParameters) (*GetConversationHistoryResponse, error)
GetConversationHistory joins an existing conversation
func (*Client) GetConversationHistoryContext ¶
func (api *Client) GetConversationHistoryContext(ctx context.Context, params *GetConversationHistoryParameters) (*GetConversationHistoryResponse, error)
GetConversationHistoryContext joins an existing conversation with a custom context
func (*Client) GetConversationInfo ¶
func (api *Client) GetConversationInfo(input *GetConversationInfoInput) (*Channel, error)
GetConversationInfo retrieves information about a conversation
func (*Client) GetConversationInfoContext ¶
func (api *Client) GetConversationInfoContext(ctx context.Context, input *GetConversationInfoInput) (*Channel, error)
GetConversationInfoContext retrieves information about a conversation with a custom context
func (*Client) GetConversationReplies ¶
func (api *Client) GetConversationReplies(params *GetConversationRepliesParameters) (msgs []Message, hasMore bool, nextCursor string, err error)
GetConversationReplies retrieves a thread of messages posted to a conversation
func (*Client) GetConversationRepliesContext ¶
func (api *Client) GetConversationRepliesContext(ctx context.Context, params *GetConversationRepliesParameters) (msgs []Message, hasMore bool, nextCursor string, err error)
GetConversationRepliesContext retrieves a thread of messages posted to a conversation with a custom context
func (*Client) GetConversations ¶
func (api *Client) GetConversations(params *GetConversationsParameters) (channels []Channel, nextCursor string, err error)
GetConversations returns the list of channels in a Slack team
func (*Client) GetConversationsContext ¶
func (api *Client) GetConversationsContext(ctx context.Context, params *GetConversationsParameters) (channels []Channel, nextCursor string, err error)
GetConversationsContext returns the list of channels in a Slack team with a custom context
func (*Client) GetConversationsForUser ¶
func (api *Client) GetConversationsForUser(params *GetConversationsForUserParameters) (channels []Channel, nextCursor string, err error)
GetConversationsForUser returns the list conversations for a given user
func (*Client) GetConversationsForUserContext ¶
func (api *Client) GetConversationsForUserContext(ctx context.Context, params *GetConversationsForUserParameters) (channels []Channel, nextCursor string, err error)
GetConversationsForUserContext returns the list conversations for a given user with a custom context
func (*Client) GetDNDInfo ¶
GetDNDInfo provides information about a user's current Do Not Disturb settings.
func (*Client) GetDNDInfoContext ¶
GetDNDInfoContext provides information about a user's current Do Not Disturb settings with a custom context.
func (*Client) GetDNDTeamInfo ¶
GetDNDTeamInfo provides information about a user's current Do Not Disturb settings.
func (*Client) GetDNDTeamInfoContext ¶
func (api *Client) GetDNDTeamInfoContext(ctx context.Context, users []string) (map[string]DNDStatus, error)
GetDNDTeamInfoContext provides information about a user's current Do Not Disturb settings with a custom context.
func (*Client) GetEmojiContext ¶
GetEmojiContext retrieves all the emojis with a custom context
func (*Client) GetFileContext ¶
GetFileContext retreives a given file from its private download URL with a custom context
For more details, see GetFile documentation.
func (*Client) GetFileInfo ¶
GetFileInfo retrieves a file and related comments
func (*Client) GetFileInfoContext ¶
func (api *Client) GetFileInfoContext(ctx context.Context, fileID string, count, page int) (*File, []Comment, *Paging, error)
GetFileInfoContext retrieves a file and related comments with a custom context
func (*Client) GetFiles ¶
func (api *Client) GetFiles(params GetFilesParameters) ([]File, *Paging, error)
GetFiles retrieves all files according to the parameters given
func (*Client) GetFilesContext ¶
func (api *Client) GetFilesContext(ctx context.Context, params GetFilesParameters) ([]File, *Paging, error)
GetFilesContext retrieves all files according to the parameters given with a custom context
func (*Client) GetOtherTeamInfo ¶
GetOtherTeamInfo gets Team information for any team
func (*Client) GetOtherTeamInfoContext ¶
GetOtherTeamInfoContext gets Team information for any team with a custom context
func (*Client) GetPermalink ¶
func (api *Client) GetPermalink(params *PermalinkParameters) (string, error)
GetPermalink returns the permalink for a message. It takes PermalinkParameters and returns a string containing the permalink. It returns an error if unable to retrieve the permalink.
func (*Client) GetPermalinkContext ¶
func (api *Client) GetPermalinkContext(ctx context.Context, params *PermalinkParameters) (string, error)
GetPermalinkContext returns the permalink for a message using a custom context.
func (*Client) GetReactions ¶
func (api *Client) GetReactions(item ItemRef, params GetReactionsParameters) ([]ItemReaction, error)
GetReactions returns details about the reactions on an item.
func (*Client) GetReactionsContext ¶
func (api *Client) GetReactionsContext(ctx context.Context, item ItemRef, params GetReactionsParameters) ([]ItemReaction, error)
GetReactionsContext returns details about the reactions on an item with a custom context
func (*Client) GetRemoteFileInfo ¶
func (api *Client) GetRemoteFileInfo(externalID, fileID string) (remotefile *RemoteFile, err error)
GetRemoteFileInfo retrieves the complete remote file information. For more details: https://api.slack.com/methods/files.remote.info
func (*Client) GetRemoteFileInfoContext ¶
func (api *Client) GetRemoteFileInfoContext(ctx context.Context, externalID, fileID string) (remotefile *RemoteFile, err error)
GetRemoteFileInfoContext retrieves the complete remote file information given with a custom context. For more details see the GetRemoteFileInfo documentation.
func (*Client) GetScheduledMessages ¶
func (api *Client) GetScheduledMessages(params *GetScheduledMessagesParameters) (channels []ScheduledMessage, nextCursor string, err error)
GetScheduledMessages returns the list of scheduled messages based on params
func (*Client) GetScheduledMessagesContext ¶
func (api *Client) GetScheduledMessagesContext(ctx context.Context, params *GetScheduledMessagesParameters) (channels []ScheduledMessage, nextCursor string, err error)
GetScheduledMessagesContext returns the list of scheduled messages in a Slack team with a custom context
func (*Client) GetStarred ¶
func (api *Client) GetStarred(params StarsParameters) ([]StarredItem, *Paging, error)
GetStarred returns a list of StarredItem items.
The user then has to iterate over them and figure out what they should be looking at according to what is in the Type:
for _, item := range items { switch c.Type { case "file_comment": log.Println(c.Comment) case "file": ... }
This function still exists to maintain backwards compatibility. I exposed it as returning []StarredItem, so it shall stay as StarredItem.
func (*Client) GetStarredContext ¶
func (api *Client) GetStarredContext(ctx context.Context, params StarsParameters) ([]StarredItem, *Paging, error)
GetStarredContext returns a list of StarredItem items with a custom context
For more details see GetStarred
func (*Client) GetTeamInfo ¶
GetTeamInfo gets the Team Information of the user
func (*Client) GetTeamInfoContext ¶
GetTeamInfoContext gets the Team Information of the user with a custom context
func (*Client) GetTeamProfile ¶
func (api *Client) GetTeamProfile() (*TeamProfile, error)
GetTeamProfile gets the Team Profile settings of the user
func (*Client) GetTeamProfileContext ¶
func (api *Client) GetTeamProfileContext(ctx context.Context) (*TeamProfile, error)
GetTeamProfileContext gets the Team Profile settings of the user with a custom context
func (*Client) GetUserByEmail ¶
GetUserByEmail will retrieve the complete user information by email
func (*Client) GetUserByEmailContext ¶
GetUserByEmailContext will retrieve the complete user information by email with a custom context
func (*Client) GetUserGroupMembers ¶
GetUserGroupMembers will retrieve the current list of users in a group
func (*Client) GetUserGroupMembersContext ¶
func (api *Client) GetUserGroupMembersContext(ctx context.Context, userGroup string) ([]string, error)
GetUserGroupMembersContext will retrieve the current list of users in a group with a custom context
func (*Client) GetUserGroups ¶
func (api *Client) GetUserGroups(options ...GetUserGroupsOption) ([]UserGroup, error)
GetUserGroups returns a list of user groups for the team
func (*Client) GetUserGroupsContext ¶
func (api *Client) GetUserGroupsContext(ctx context.Context, options ...GetUserGroupsOption) ([]UserGroup, error)
GetUserGroupsContext returns a list of user groups for the team with a custom context
func (*Client) GetUserIdentity ¶
func (api *Client) GetUserIdentity() (*UserIdentityResponse, error)
GetUserIdentity will retrieve user info available per identity scopes
func (*Client) GetUserIdentityContext ¶
func (api *Client) GetUserIdentityContext(ctx context.Context) (response *UserIdentityResponse, err error)
GetUserIdentityContext will retrieve user info available per identity scopes with a custom context
func (*Client) GetUserInfo ¶
GetUserInfo will retrieve the complete user information
func (*Client) GetUserInfoContext ¶
GetUserInfoContext will retrieve the complete user information with a custom context
func (*Client) GetUserPrefs ¶
func (api *Client) GetUserPrefs() (*UserPrefsCarrier, error)
func (*Client) GetUserPrefsContext ¶
func (api *Client) GetUserPrefsContext(ctx context.Context) (*UserPrefsCarrier, error)
func (*Client) GetUserPresence ¶
func (api *Client) GetUserPresence(user string) (*UserPresence, error)
GetUserPresence will retrieve the current presence status of given user.
func (*Client) GetUserPresenceContext ¶
GetUserPresenceContext will retrieve the current presence status of given user with a custom context.
func (*Client) GetUserProfile ¶
func (api *Client) GetUserProfile(params *GetUserProfileParameters) (*UserProfile, error)
GetUserProfile retrieves a user's profile information.
func (*Client) GetUserProfileContext ¶
func (api *Client) GetUserProfileContext(ctx context.Context, params *GetUserProfileParameters) (*UserProfile, error)
GetUserProfileContext retrieves a user's profile information with a context.
func (*Client) GetUsers ¶
func (api *Client) GetUsers(options ...GetUsersOption) ([]User, error)
GetUsers returns the list of users (with their detailed information)
func (*Client) GetUsersContext ¶
func (api *Client) GetUsersContext(ctx context.Context, options ...GetUsersOption) (results []User, err error)
GetUsersContext returns the list of users (with their detailed information) with a custom context
func (*Client) GetUsersInConversation ¶
func (api *Client) GetUsersInConversation(params *GetUsersInConversationParameters) ([]string, string, error)
GetUsersInConversation returns the list of users in a conversation
func (*Client) GetUsersInConversationContext ¶
func (api *Client) GetUsersInConversationContext(ctx context.Context, params *GetUsersInConversationParameters) ([]string, string, error)
GetUsersInConversationContext returns the list of users in a conversation with a custom context
func (*Client) GetUsersInfo ¶
GetUsersInfo will retrieve the complete multi-users information
func (*Client) GetUsersInfoContext ¶
GetUsersInfoContext will retrieve the complete multi-users information with a custom context
func (*Client) GetUsersPaginated ¶
func (api *Client) GetUsersPaginated(options ...GetUsersOption) UserPagination
GetUsersPaginated fetches users in a paginated fashion, see GetUsersContext for usage.
func (*Client) InviteGuest ¶
InviteGuest invites a user to Slack as a single-channel guest
func (*Client) InviteGuestContext ¶
func (api *Client) InviteGuestContext(ctx context.Context, teamName, channel, firstName, lastName, emailAddress string) error
InviteGuestContext invites a user to Slack as a single-channel guest with a custom context
func (*Client) InviteRestricted ¶
func (api *Client) InviteRestricted(teamName, channel, firstName, lastName, emailAddress string) error
InviteRestricted invites a user to Slack as a restricted account
func (*Client) InviteRestrictedContext ¶
func (api *Client) InviteRestrictedContext(ctx context.Context, teamName, channel, firstName, lastName, emailAddress string) error
InviteRestrictedContext invites a user to Slack as a restricted account with a custom context
func (*Client) InviteSharedEmailsToConversation ¶
func (api *Client) InviteSharedEmailsToConversation(channelID string, emails ...string) (string, bool, error)
InviteSharedEmailsToConversation invites users to a shared channels by email
func (*Client) InviteSharedEmailsToConversationContext ¶
func (api *Client) InviteSharedEmailsToConversationContext(ctx context.Context, channelID string, emails ...string) (string, bool, error)
InviteSharedEmailsToConversationContext invites users to a shared channels by email using context
func (*Client) InviteSharedUserIDsToConversation ¶
func (api *Client) InviteSharedUserIDsToConversation(channelID string, userIDs ...string) (string, bool, error)
InviteSharedUserIDsToConversation invites users to a shared channels by user id
func (*Client) InviteSharedUserIDsToConversationContext ¶
func (api *Client) InviteSharedUserIDsToConversationContext(ctx context.Context, channelID string, userIDs ...string) (string, bool, error)
InviteSharedUserIDsToConversationContext invites users to a shared channels by user id with context
func (*Client) InviteToTeam ¶
InviteToTeam invites a user to a Slack team
func (*Client) InviteToTeamContext ¶
func (api *Client) InviteToTeamContext(ctx context.Context, teamName, firstName, lastName, emailAddress string) error
InviteToTeamContext invites a user to a Slack team with a custom context
func (*Client) InviteUsersToConversation ¶
InviteUsersToConversation invites users to a channel
func (*Client) InviteUsersToConversationContext ¶
func (api *Client) InviteUsersToConversationContext(ctx context.Context, channelID string, users ...string) (*Channel, error)
InviteUsersToConversationContext invites users to a channel with a custom context
func (*Client) JoinConversation ¶
JoinConversation joins an existing conversation
func (*Client) JoinConversationContext ¶
func (api *Client) JoinConversationContext(ctx context.Context, channelID string) (*Channel, string, []string, error)
JoinConversationContext joins an existing conversation with a custom context
func (*Client) KickUserFromConversation ¶
KickUserFromConversation removes a user from a conversation
func (*Client) KickUserFromConversationContext ¶
func (api *Client) KickUserFromConversationContext(ctx context.Context, channelID string, user string) error
KickUserFromConversationContext removes a user from a conversation with a custom context
func (*Client) LeaveConversation ¶
LeaveConversation leaves a conversation
func (*Client) LeaveConversationContext ¶
LeaveConversationContext leaves a conversation with a custom context
func (*Client) ListAllStars ¶
ListAllStars returns the complete list of starred items
func (*Client) ListAllStarsContext ¶
ListAllStarsContext returns the list of users (with their detailed information) with a custom context
func (*Client) ListBookmarks ¶
ListBookmarks returns all bookmarks for a channel.
func (*Client) ListBookmarksContext ¶
ListBookmarksContext returns all bookmarks for a channel with a custom context.
func (*Client) ListEventAuthorizations ¶
func (api *Client) ListEventAuthorizations(eventContext string) ([]EventAuthorization, error)
func (*Client) ListEventAuthorizationsContext ¶
func (api *Client) ListEventAuthorizationsContext(ctx context.Context, eventContext string) ([]EventAuthorization, error)
ListEventAuthorizationsContext lists authed users and teams for the given event_context. You must provide an app-level token to the client using OptionAppLevelToken. More info: https://api.slack.com/methods/apps.event.authorizations.list
func (*Client) ListFiles ¶
func (api *Client) ListFiles(params ListFilesParameters) ([]File, *ListFilesParameters, error)
ListFiles retrieves all files according to the parameters given. Uses cursor based pagination.
func (*Client) ListFilesContext ¶
func (api *Client) ListFilesContext(ctx context.Context, params ListFilesParameters) ([]File, *ListFilesParameters, error)
ListFilesContext retrieves all files according to the parameters given with a custom context.
For more details, see ListFiles documentation.
func (*Client) ListPinsContext ¶
ListPinsContext returns information about the items a user reacted to with a custom context.
func (*Client) ListReactions ¶
func (api *Client) ListReactions(params ListReactionsParameters) ([]ReactedItem, *Paging, error)
ListReactions returns information about the items a user reacted to.
func (*Client) ListReactionsContext ¶
func (api *Client) ListReactionsContext(ctx context.Context, params ListReactionsParameters) ([]ReactedItem, *Paging, error)
ListReactionsContext returns information about the items a user reacted to with a custom context.
func (*Client) ListReminders ¶
ListReminders lists all the reminders created by or for the authenticated user
func (*Client) ListRemindersContext ¶
ListRemindersContext lists all the reminders created by or for the authenticated user with a custom context
For more details, see ListReminders documentation.
func (*Client) ListRemoteFiles ¶
func (api *Client) ListRemoteFiles(params ListRemoteFilesParameters) ([]RemoteFile, error)
ListRemoteFiles retrieves all remote files according to the parameters given. Uses cursor based pagination. For more details: https://api.slack.com/methods/files.remote.list
func (*Client) ListRemoteFilesContext ¶
func (api *Client) ListRemoteFilesContext(ctx context.Context, params ListRemoteFilesParameters) ([]RemoteFile, error)
ListRemoteFilesContext retrieves all remote files according to the parameters given with a custom context. Uses cursor based pagination. For more details see the ListRemoteFiles documentation.
func (*Client) ListStars ¶
func (api *Client) ListStars(params StarsParameters) ([]Item, *Paging, error)
ListStars returns information about the stars a user added
func (*Client) ListStarsContext ¶
func (api *Client) ListStarsContext(ctx context.Context, params StarsParameters) ([]Item, *Paging, error)
ListStarsContext returns information about the stars a user added with a custom context
func (*Client) ListStarsPaginated ¶
func (api *Client) ListStarsPaginated(options ...ListStarsOption) StarredItemPagination
ListStarsPaginated fetches users in a paginated fashion, see ListStarsPaginationContext for usage.
func (*Client) ListTeams ¶
func (api *Client) ListTeams(params ListTeamsParameters) ([]Team, string, error)
ListTeams returns all workspaces a token can access. More info: https://api.slack.com/methods/admin.teams.list
func (*Client) ListTeamsContext ¶
func (api *Client) ListTeamsContext(ctx context.Context, params ListTeamsParameters) ([]Team, string, error)
ListTeams returns all workspaces a token can access with a custom context.
func (*Client) MarkConversation ¶
MarkConversation sets the read mark of a conversation to a specific point
func (*Client) MarkConversationContext ¶
MarkConversationContext sets the read mark of a conversation to a specific point with a custom context
func (*Client) NewRTM ¶
NewRTM returns a RTM, which provides a fully managed connection to Slack's websocket-based Real-Time Messaging protocol.
func (*Client) OpenConversation ¶
func (api *Client) OpenConversation(params *OpenConversationParameters) (*Channel, bool, bool, error)
OpenConversation opens or resumes a direct message or multi-person direct message
func (*Client) OpenConversationContext ¶
func (api *Client) OpenConversationContext(ctx context.Context, params *OpenConversationParameters) (*Channel, bool, bool, error)
OpenConversationContext opens or resumes a direct message or multi-person direct message with a custom context
func (*Client) OpenDialog ¶
OpenDialog opens a dialog window where the triggerID originated from. EXPERIMENTAL: dialog functionality is currently experimental, api is not considered stable.
func (*Client) OpenDialogContext ¶
func (api *Client) OpenDialogContext(ctx context.Context, triggerID string, dialog Dialog) (err error)
OpenDialogContext opens a dialog window where the triggerId originated from with a custom context EXPERIMENTAL: dialog functionality is currently experimental, api is not considered stable.
func (*Client) OpenView ¶
func (api *Client) OpenView(triggerID string, view ModalViewRequest) (*ViewResponse, error)
OpenView opens a view for a user.
func (*Client) OpenViewContext ¶
func (api *Client) OpenViewContext( ctx context.Context, triggerID string, view ModalViewRequest, ) (*ViewResponse, error)
OpenViewContext opens a view for a user with a custom context.
func (*Client) PostEphemeral ¶
PostEphemeral sends an ephemeral message to a user in a channel. Message is escaped by default according to https://api.slack.com/docs/formatting Use http://davestevens.github.io/slack-message-builder/ to help crafting your message.
func (*Client) PostEphemeralContext ¶
func (api *Client) PostEphemeralContext(ctx context.Context, channelID, userID string, options ...MsgOption) (timestamp string, err error)
PostEphemeralContext sends an ephemeal message to a user in a channel with a custom context For more details, see PostEphemeral documentation
func (*Client) PostMessage ¶
PostMessage sends a message to a channel. Message is escaped by default according to https://api.slack.com/docs/formatting Use http://davestevens.github.io/slack-message-builder/ to help crafting your message.
func (*Client) PostMessageContext ¶
func (api *Client) PostMessageContext(ctx context.Context, channelID string, options ...MsgOption) (string, string, error)
PostMessageContext sends a message to a channel with a custom context For more details, see PostMessage documentation.
func (*Client) PublishView ¶
func (api *Client) PublishView(userID string, view HomeTabViewRequest, hash string) (*ViewResponse, error)
PublishView publishes a static view for a user.
func (*Client) PublishViewContext ¶
func (api *Client) PublishViewContext( ctx context.Context, userID string, view HomeTabViewRequest, hash string, ) (*ViewResponse, error)
PublishViewContext publishes a static view for a user with a custom context.
func (*Client) PushView ¶
func (api *Client) PushView(triggerID string, view ModalViewRequest) (*ViewResponse, error)
PushView pushes a view onto the stack of a root view.
func (*Client) PushViewContext ¶
func (api *Client) PushViewContext( ctx context.Context, triggerID string, view ModalViewRequest, ) (*ViewResponse, error)
PublishViewContext pushes a view onto the stack of a root view with a custom context.
func (*Client) RemoveBookmark ¶
RemoveBookmark removes a bookmark from a channel
func (*Client) RemoveBookmarkContext ¶
RemoveBookmarkContext removes a bookmark from a channel with a custom context
func (*Client) RemovePinContext ¶
RemovePinContext un-pins an item from a channel with a custom context
func (*Client) RemoveReaction ¶
RemoveReaction removes a reaction emoji from a message, file or file comment.
func (*Client) RemoveReactionContext ¶
RemoveReactionContext removes a reaction emoji from a message, file or file comment with a custom context.
func (*Client) RemoveRemoteFile ¶
RemoveRemoteFile removes a remote file. For more details: https://api.slack.com/methods/files.remote.remove
func (*Client) RemoveRemoteFileContext ¶
func (api *Client) RemoveRemoteFileContext(ctx context.Context, externalID, fileID string) (err error)
RemoveRemoteFileContext removes a remote file with a custom context For more information see the RemoveRemoteFiles documentation.
func (*Client) RemoveStar ¶
RemoveStar removes a starred item from a channel
func (*Client) RemoveStarContext ¶
RemoveStarContext removes a starred item from a channel with a custom context
func (*Client) RenameConversation ¶
RenameConversation renames a conversation
func (*Client) RenameConversationContext ¶
func (api *Client) RenameConversationContext(ctx context.Context, channelID, channelName string) (*Channel, error)
RenameConversationContext renames a conversation with a custom context
func (*Client) RevokeFilePublicURL ¶
RevokeFilePublicURL disables public/external sharing for a file
func (*Client) RevokeFilePublicURLContext ¶
RevokeFilePublicURLContext disables public/external sharing for a file with a custom context
func (*Client) RotateTokens ¶
func (api *Client) RotateTokens(configToken string, refreshToken string) (*TokenResponse, error)
RotateTokens exchanges a refresh token for a new app configuration token
func (*Client) RotateTokensContext ¶
func (api *Client) RotateTokensContext(ctx context.Context, configToken string, refreshToken string) (*TokenResponse, error)
RotateTokensContext exchanges a refresh token for a new app configuration token with a custom context
func (*Client) SaveWorkflowStepConfiguration ¶
func (api *Client) SaveWorkflowStepConfiguration(workflowStepEditID string, inputs *WorkflowStepInputs, outputs *[]WorkflowStepOutput) error
func (*Client) SaveWorkflowStepConfigurationContext ¶
func (api *Client) SaveWorkflowStepConfigurationContext(ctx context.Context, workflowStepEditID string, inputs *WorkflowStepInputs, outputs *[]WorkflowStepOutput) error
func (*Client) ScheduleMessage ¶
func (api *Client) ScheduleMessage(channelID, postAt string, options ...MsgOption) (string, string, error)
ScheduleMessage sends a message to a channel. Message is escaped by default according to https://api.slack.com/docs/formatting Use http://davestevens.github.io/slack-message-builder/ to help crafting your message.
func (*Client) ScheduleMessageContext ¶
func (api *Client) ScheduleMessageContext(ctx context.Context, channelID, postAt string, options ...MsgOption) (string, string, error)
ScheduleMessageContext sends a message to a channel with a custom context
For more details, see ScheduleMessage documentation.
func (*Client) Search ¶
func (api *Client) Search(query string, params SearchParameters) (*SearchMessages, *SearchFiles, error)
func (*Client) SearchContext ¶
func (api *Client) SearchContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, *SearchFiles, error)
func (*Client) SearchFiles ¶
func (api *Client) SearchFiles(query string, params SearchParameters) (*SearchFiles, error)
func (*Client) SearchFilesContext ¶
func (api *Client) SearchFilesContext(ctx context.Context, query string, params SearchParameters) (*SearchFiles, error)
func (*Client) SearchMessages ¶
func (api *Client) SearchMessages(query string, params SearchParameters) (*SearchMessages, error)
func (*Client) SearchMessagesContext ¶
func (api *Client) SearchMessagesContext(ctx context.Context, query string, params SearchParameters) (*SearchMessages, error)
func (*Client) SendAuthRevoke ¶
func (api *Client) SendAuthRevoke(token string) (*AuthRevokeResponse, error)
SendAuthRevoke will send a revocation for our token
func (*Client) SendAuthRevokeContext ¶
func (api *Client) SendAuthRevokeContext(ctx context.Context, token string) (*AuthRevokeResponse, error)
SendAuthRevokeContext will send a revocation request for our token to api.revoke with context
func (*Client) SendMessage ¶
func (api *Client) SendMessage(channel string, options ...MsgOption) (string, string, string, error)
SendMessage more flexible method for configuring messages.
func (*Client) SendMessageContext ¶
func (api *Client) SendMessageContext(ctx context.Context, channelID string, options ...MsgOption) (_channel string, _timestamp string, _text string, err error)
SendMessageContext more flexible method for configuring messages with a custom context.
func (*Client) SendSSOBindingEmail ¶
SendSSOBindingEmail sends an SSO binding email to the specified user
func (*Client) SendSSOBindingEmailContext ¶
SendSSOBindingEmailContext sends an SSO binding email to the specified user with a custom context
func (*Client) SetPurposeOfConversation ¶
SetPurposeOfConversation sets the purpose for a conversation
func (*Client) SetPurposeOfConversationContext ¶
func (api *Client) SetPurposeOfConversationContext(ctx context.Context, channelID, purpose string) (*Channel, error)
SetPurposeOfConversationContext sets the purpose for a conversation with a custom context
func (*Client) SetRegular ¶
SetRegular enables the specified user
func (*Client) SetRegularContext ¶
SetRegularContext enables the specified user with a custom context
func (*Client) SetRestricted ¶
SetRestricted converts a user into a restricted account
func (*Client) SetRestrictedContext ¶
func (api *Client) SetRestrictedContext(ctx context.Context, teamName, uid string, channelIds ...string) error
SetRestrictedContext converts a user into a restricted account with a custom context
func (*Client) SetSnooze ¶
SetSnooze adjusts the snooze duration for a user's Do Not Disturb settings. If a snooze session is not already active for the user, invoking this method will begin one for the specified duration.
func (*Client) SetSnoozeContext ¶
SetSnoozeContext adjusts the snooze duration for a user's Do Not Disturb settings with a custom context. For more information see the SetSnooze docs
func (*Client) SetTopicOfConversation ¶
SetTopicOfConversation sets the topic for a conversation
func (*Client) SetTopicOfConversationContext ¶
func (api *Client) SetTopicOfConversationContext(ctx context.Context, channelID, topic string) (*Channel, error)
SetTopicOfConversationContext sets the topic for a conversation with a custom context
func (*Client) SetUltraRestricted ¶
SetUltraRestricted converts a user into a single-channel guest
func (*Client) SetUltraRestrictedContext ¶
func (api *Client) SetUltraRestrictedContext(ctx context.Context, teamName, uid, channel string) error
SetUltraRestrictedContext converts a user into a single-channel guest with a custom context
func (*Client) SetUserAsActive ¶
SetUserAsActive marks the currently authenticated user as active
func (*Client) SetUserAsActiveContext ¶
SetUserAsActiveContext marks the currently authenticated user as active with a custom context
func (*Client) SetUserCustomFields ¶
func (api *Client) SetUserCustomFields(userID string, customFields map[string]UserProfileCustomField) error
SetUserCustomFields sets Custom Profile fields on the provided users account. Due to the non-repeating elements within the request, a map fields is required. The key in the map signifies the field that will be updated.
Note: You may need to change the way the custom field is populated within the Profile section of the Admin Console from SCIM or User Entered to API.
See GetTeamProfile for information to retrieve possible fields for your account.
func (*Client) SetUserCustomFieldsContext ¶
func (api *Client) SetUserCustomFieldsContext(ctx context.Context, userID string, customFields map[string]UserProfileCustomField) error
SetUserCustomFieldsContext will set a users custom profile field with context.
For more information see SetUserCustomFields
func (*Client) SetUserCustomStatus ¶
func (api *Client) SetUserCustomStatus(statusText, statusEmoji string, statusExpiration int64) error
SetUserCustomStatus will set a custom status and emoji for the currently authenticated user. If statusEmoji is "" and statusText is not, the Slack API will automatically set it to ":speech_balloon:". Otherwise, if both are "" the Slack API will unset the custom status/emoji. If statusExpiration is set to 0 the status will not expire.
func (*Client) SetUserCustomStatusContext ¶
func (api *Client) SetUserCustomStatusContext(ctx context.Context, statusText, statusEmoji string, statusExpiration int64) error
SetUserCustomStatusContext will set a custom status and emoji for the currently authenticated user with a custom context
For more information see SetUserCustomStatus
func (*Client) SetUserCustomStatusContextWithUser ¶
func (api *Client) SetUserCustomStatusContextWithUser(ctx context.Context, user, statusText, statusEmoji string, statusExpiration int64) error
SetUserCustomStatusContextWithUser will set a custom status and emoji for the provided user with a custom context
For more information see SetUserCustomStatus
func (*Client) SetUserCustomStatusWithUser ¶
func (api *Client) SetUserCustomStatusWithUser(user, statusText, statusEmoji string, statusExpiration int64) error
SetUserCustomStatusWithUser will set a custom status and emoji for the provided user.
For more information see SetUserCustomStatus
func (*Client) SetUserPhoto ¶
func (api *Client) SetUserPhoto(image string, params UserSetPhotoParams) error
SetUserPhoto changes the currently authenticated user's profile image
func (*Client) SetUserPhotoContext ¶
func (api *Client) SetUserPhotoContext(ctx context.Context, image string, params UserSetPhotoParams) (err error)
SetUserPhotoContext changes the currently authenticated user's profile image using a custom context
func (*Client) SetUserPresence ¶
SetUserPresence changes the currently authenticated user presence
func (*Client) SetUserPresenceContext ¶
SetUserPresenceContext changes the currently authenticated user presence with a custom context
func (*Client) SetUserRealName ¶
SetUserRealName changes the currently authenticated user's realName
For more information see SetUserRealNameContextWithUser
func (*Client) SetUserRealNameContextWithUser ¶
SetUserRealNameContextWithUser will set a real name for the provided user with a custom context
func (*Client) ShareFilePublicURL ¶
ShareFilePublicURL enabled public/external sharing for a file
func (*Client) ShareFilePublicURLContext ¶
func (api *Client) ShareFilePublicURLContext(ctx context.Context, fileID string) (*File, []Comment, *Paging, error)
ShareFilePublicURLContext enabled public/external sharing for a file with a custom context
func (*Client) ShareRemoteFile ¶
func (api *Client) ShareRemoteFile(channels []string, externalID, fileID string) (file *RemoteFile, err error)
ShareRemoteFile shares a remote file to channels For more details: https://api.slack.com/methods/files.remote.share
func (*Client) ShareRemoteFileContext ¶
func (api *Client) ShareRemoteFileContext(ctx context.Context, channels []string, externalID, fileID string) (file *RemoteFile, err error)
ShareRemoteFileContext shares a remote file to channels with a custom context. For more details see the ShareRemoteFile documentation.
func (*Client) StartRTM ¶
StartRTM calls the "rtm.start" endpoint and returns the provided URL and the full Info block.
To have a fully managed Websocket connection, use `NewRTM`, and call `ManageConnection()` on it.
func (*Client) StartRTMContext ¶
func (api *Client) StartRTMContext(ctx context.Context) (info *Info, websocketURL string, err error)
StartRTMContext calls the "rtm.start" endpoint and returns the provided URL and the full Info block with a custom context.
To have a fully managed Websocket connection, use `NewRTM`, and call `ManageConnection()` on it.
func (*Client) StartSocketModeContext ¶
func (api *Client) StartSocketModeContext(ctx context.Context) (info *SocketModeConnection, websocketURL string, err error)
StartSocketModeContext calls the "apps.connections.open" endpoint and returns the provided URL and the full Info block with a custom context.
To have a fully managed Socket Mode connection, use `socketmode.New()`, and call `Run()` on it.
func (*Client) UnArchiveConversation ¶
UnArchiveConversation reverses conversation archival
func (*Client) UnArchiveConversationContext ¶
UnArchiveConversationContext reverses conversation archival with a custom context
func (*Client) UnMuteChat ¶
func (api *Client) UnMuteChat(channelID string) (*UserPrefsCarrier, error)
func (*Client) UnfurlMessage ¶
func (api *Client) UnfurlMessage(channelID, timestamp string, unfurls map[string]Attachment, options ...MsgOption) (string, string, string, error)
UnfurlMessage unfurls a message in a channel
func (*Client) UnfurlMessageContext ¶
func (api *Client) UnfurlMessageContext(ctx context.Context, channelID, timestamp string, unfurls map[string]Attachment, options ...MsgOption) (string, string, string, error)
UnfurlMessageContext unfurls a message in a channel with a custom context
func (*Client) UnfurlMessageWithAuthURL ¶
func (api *Client) UnfurlMessageWithAuthURL(channelID, timestamp string, userAuthURL string, options ...MsgOption) (string, string, string, error)
UnfurlMessageWithAuthURL sends an unfurl request containing an authentication URL. For more details see: https://api.slack.com/reference/messaging/link-unfurling#authenticated_unfurls
func (*Client) UnfurlMessageWithAuthURLContext ¶
func (api *Client) UnfurlMessageWithAuthURLContext(ctx context.Context, channelID, timestamp string, userAuthURL string, options ...MsgOption) (string, string, string, error)
UnfurlMessageWithAuthURLContext sends an unfurl request containing an authentication URL. For more details see: https://api.slack.com/reference/messaging/link-unfurling#authenticated_unfurls
func (*Client) UninstallApp ¶
func (*Client) UninstallAppContext ¶
func (*Client) UnsetUserCustomStatus ¶
UnsetUserCustomStatus removes the custom status message for the currently authenticated user. This is a convenience method that wraps (*Client).SetUserCustomStatus().
func (*Client) UnsetUserCustomStatusContext ¶
UnsetUserCustomStatusContext removes the custom status message for the currently authenticated user with a custom context. This is a convenience method that wraps (*Client).SetUserCustomStatus().
func (*Client) UpdateConfigTokens ¶
func (api *Client) UpdateConfigTokens(response *TokenResponse)
UpdateConfigTokens replaces the configuration tokens in the client with those returned by the API
func (*Client) UpdateManifest ¶
func (api *Client) UpdateManifest(manifest *Manifest, token string, appId string) (*UpdateManifestResponse, error)
UpdateManifest updates an app from an app manifest
func (*Client) UpdateManifestContext ¶
func (api *Client) UpdateManifestContext(ctx context.Context, manifest *Manifest, token string, appId string) (*UpdateManifestResponse, error)
UpdateManifestContext updates an app from an app manifest with a custom context
func (*Client) UpdateMessage ¶
func (api *Client) UpdateMessage(channelID, timestamp string, options ...MsgOption) (string, string, string, error)
UpdateMessage updates a message in a channel
func (*Client) UpdateMessageContext ¶
func (api *Client) UpdateMessageContext(ctx context.Context, channelID, timestamp string, options ...MsgOption) (string, string, string, error)
UpdateMessageContext updates a message in a channel
func (*Client) UpdateRemoteFile ¶
func (api *Client) UpdateRemoteFile(fileID string, params RemoteFileParameters) (remotefile *RemoteFile, err error)
UpdateRemoteFile updates a remote file For more details: https://api.slack.com/methods/files.remote.update
func (*Client) UpdateRemoteFileContext ¶
func (api *Client) UpdateRemoteFileContext(ctx context.Context, fileID string, params RemoteFileParameters) (remotefile *RemoteFile, err error)
UpdateRemoteFileContext updates a remote file with a custom context For more details see the UpdateRemoteFile documentation.
func (*Client) UpdateUserGroup ¶
func (api *Client) UpdateUserGroup(userGroupID string, options ...UpdateUserGroupsOption) (UserGroup, error)
UpdateUserGroup will update an existing user group
func (*Client) UpdateUserGroupContext ¶
func (api *Client) UpdateUserGroupContext(ctx context.Context, userGroupID string, options ...UpdateUserGroupsOption) (UserGroup, error)
UpdateUserGroupContext will update an existing user group with a custom context
func (*Client) UpdateUserGroupMembers ¶
UpdateUserGroupMembers will update the members of an existing user group
func (*Client) UpdateUserGroupMembersContext ¶
func (api *Client) UpdateUserGroupMembersContext(ctx context.Context, userGroup string, members string) (UserGroup, error)
UpdateUserGroupMembersContext will update the members of an existing user group with a custom context
func (*Client) UpdateView ¶
func (api *Client) UpdateView(view ModalViewRequest, externalID, hash, viewID string) (*ViewResponse, error)
UpdateView updates an existing view.
func (*Client) UpdateViewContext ¶
func (api *Client) UpdateViewContext( ctx context.Context, view ModalViewRequest, externalID, hash, viewID string, ) (*ViewResponse, error)
UpdateViewContext updates an existing view with a custom context.
func (*Client) UploadFile ¶
func (api *Client) UploadFile(params FileUploadParameters) (file *File, err error)
UploadFile uploads a file
func (*Client) UploadFileContext ¶
func (api *Client) UploadFileContext(ctx context.Context, params FileUploadParameters) (file *File, err error)
UploadFileContext uploads a file and setting a custom context
func (*Client) UploadFileV2 ¶
func (api *Client) UploadFileV2(params UploadFileV2Parameters) (*FileSummary, error)
UploadFileV2 uploads file to a given slack channel using 3 steps -
- Get an upload URL using files.getUploadURLExternal API
- Send the file as a post to the URL provided by slack
- Complete the upload and share it to the specified channel using files.completeUploadExternal
func (*Client) UploadFileV2Context ¶
func (api *Client) UploadFileV2Context(ctx context.Context, params UploadFileV2Parameters) (file *FileSummary, err error)
UploadFileV2 uploads file to a given slack channel using 3 steps with a custom context -
- Get an upload URL using files.getUploadURLExternal API
- Send the file as a post to the URL provided by slack
- Complete the upload and share it to the specified channel using files.completeUploadExternal
func (*Client) ValidateManifest ¶
func (api *Client) ValidateManifest(manifest *Manifest, token string, appId string) (*ManifestResponse, error)
ValidateManifest sends a request to apps.manifest.validate to validate your app manifest
func (*Client) ValidateManifestContext ¶
func (api *Client) ValidateManifestContext(ctx context.Context, manifest *Manifest, token string, appId string) (*ManifestResponse, error)
ValidateManifestContext sends a request to apps.manifest.validate to validate your app manifest with a custom context
func (*Client) WorkflowStepCompleted ¶
func (api *Client) WorkflowStepCompleted(workflowStepExecuteID string, options ...WorkflowStepCompletedRequestOption) error
WorkflowStepCompleted indicates step is completed
type CommandsChangedEvent ¶
type CommandsChangedEvent struct { Type string `json:"type"` EventTimestamp string `json:"event_ts"` }
CommandsChangedEvent represents the commands changed event
type Comment ¶
type Comment struct { ID string `json:"id,omitempty"` Created JSONTime `json:"created,omitempty"` Timestamp JSONTime `json:"timestamp,omitempty"` User string `json:"user,omitempty"` Comment string `json:"comment,omitempty"` }
Comment contains all the information relative to a comment
type ConfigurationModalRequest ¶
type ConfigurationModalRequest struct {
ModalViewRequest
}
func NewConfigurationModalRequest ¶
func NewConfigurationModalRequest(blocks Blocks, privateMetaData string, externalID string) *ConfigurationModalRequest
type ConfirmationBlockObject ¶
type ConfirmationBlockObject struct { Title *TextBlockObject `json:"title"` Text *TextBlockObject `json:"text"` Confirm *TextBlockObject `json:"confirm"` Deny *TextBlockObject `json:"deny,omitempty"` Style Style `json:"style,omitempty"` }
ConfirmationBlockObject defines a dialog that provides a confirmation step to any interactive element. This dialog will ask the user to confirm their action by offering a confirm and deny buttons.
More Information: https://api.slack.com/reference/messaging/composition-objects#confirm
func NewConfirmationBlockObject ¶
func NewConfirmationBlockObject(title, text, confirm, deny *TextBlockObject) *ConfirmationBlockObject
NewConfirmationBlockObject returns an instance of a new Confirmation Block Object
func (*ConfirmationBlockObject) WithStyle ¶
func (s *ConfirmationBlockObject) WithStyle(style Style) *ConfirmationBlockObject
WithStyle add styling to confirmation object
type ConfirmationField ¶
type ConfirmationField struct { Title string `json:"title,omitempty"` // Optional. Text string `json:"text"` // Required. OkText string `json:"ok_text,omitempty"` // Optional. Defaults to "Okay" DismissText string `json:"dismiss_text,omitempty"` // Optional. Defaults to "Cancel" }
ConfirmationField are used to ask users to confirm actions
type ConnectedEvent ¶
ConnectedEvent is used for when we connect to Slack
type ConnectingEvent ¶
type ConnectingEvent struct { Attempt int // 1 = first attempt, 2 = second attempt ConnectionCount int }
ConnectingEvent contains information about our connection attempt
type ConnectionErrorEvent ¶
type ConnectionErrorEvent struct { Attempt int Backoff time.Duration // how long we'll wait before the next attempt ErrorObj error }
ConnectionErrorEvent contains information about a connection error
func (*ConnectionErrorEvent) Error ¶
func (c *ConnectionErrorEvent) Error() string
type Container ¶
type Container struct { Type string `json:"type"` ViewID string `json:"view_id"` MessageTs string `json:"message_ts"` ThreadTs string `json:"thread_ts,omitempty"` AttachmentID json.Number `json:"attachment_id"` ChannelID string `json:"channel_id"` IsEphemeral bool `json:"is_ephemeral"` IsAppUnfurl bool `json:"is_app_unfurl"` }
type ContextBlock ¶
type ContextBlock struct { Type MessageBlockType `json:"type"` BlockID string `json:"block_id,omitempty"` ContextElements ContextElements `json:"elements"` }
ContextBlock defines data that is used to display message context, which can include both images and text.
More Information: https://api.slack.com/reference/messaging/blocks#context
func NewContextBlock ¶
func NewContextBlock(blockID string, mixedElements ...MixedElement) *ContextBlock
NewContextBlock returns a new instance of a context block
func (ContextBlock) BlockType ¶
func (s ContextBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type ContextElements ¶
type ContextElements struct {
Elements []MixedElement
}
func (*ContextElements) MarshalJSON ¶
func (e *ContextElements) MarshalJSON() ([]byte, error)
MarshalJSON implements the Marshaller interface for ContextElements so that any JSON marshalling is delegated and proper type determination can be made before marshal
func (*ContextElements) UnmarshalJSON ¶
func (e *ContextElements) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Unmarshaller interface for ContextElements, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal
type Conversation ¶
type Conversation struct { ID string `json:"id"` Created JSONTime `json:"created"` IsOpen bool `json:"is_open"` LastRead string `json:"last_read,omitempty"` Latest *Message `json:"latest,omitempty"` UnreadCount int `json:"unread_count,omitempty"` UnreadCountDisplay int `json:"unread_count_display,omitempty"` IsGroup bool `json:"is_group"` IsIM bool `json:"is_im"` IsPrivate bool `json:"is_private"` IsMpIM bool `json:"is_mpim"` Unlinked int `json:"unlinked"` NameNormalized string `json:"name_normalized"` NumMembers int `json:"num_members"` Priority float64 `json:"priority"` User string `json:"user"` }
Conversation is the foundation for IM and BaseGroupConversation
type CtxChannel ¶
type CtxMessage ¶
type DNDStatus ¶
type DNDStatus struct { Enabled bool `json:"dnd_enabled"` NextStartTimestamp int `json:"next_dnd_start_ts"` NextEndTimestamp int `json:"next_dnd_end_ts"` SnoozeInfo }
type DNDUpdatedEvent ¶
type DNDUpdatedEvent struct { Type string `json:"type"` User string `json:"user"` Status DNDStatus `json:"dnd_status"` }
DNDUpdatedEvent represents the update event for Do Not Disturb
type DatePickerBlockElement ¶
type DatePickerBlockElement struct { Type MessageElementType `json:"type"` ActionID string `json:"action_id,omitempty"` Placeholder *TextBlockObject `json:"placeholder,omitempty"` InitialDate string `json:"initial_date,omitempty"` Confirm *ConfirmationBlockObject `json:"confirm,omitempty"` }
DatePickerBlockElement defines an element which lets users easily select a date from a calendar style UI. Date picker elements can be used inside of section and actions blocks.
More Information: https://api.slack.com/reference/messaging/block-elements#datepicker
func NewDatePickerBlockElement ¶
func NewDatePickerBlockElement(actionID string) *DatePickerBlockElement
NewDatePickerBlockElement returns an instance of a date picker element
func (DatePickerBlockElement) ElementType ¶
func (s DatePickerBlockElement) ElementType() MessageElementType
ElementType returns the type of the Element
type DateTimePickerBlockElement ¶
type DateTimePickerBlockElement struct { Type MessageElementType `json:"type"` ActionID string `json:"action_id,omitempty"` InitialDateTime int64 `json:"initial_date_time,omitempty"` Confirm *ConfirmationBlockObject `json:"confirm,omitempty"` }
DateTimePickerBlockElement defines an element that allows the selection of both a date and a time of day formatted as a UNIX timestamp. More Information: https://api.slack.com/reference/messaging/block-elements#datetimepicker
func NewDateTimePickerBlockElement ¶
func NewDateTimePickerBlockElement(actionID string) *DateTimePickerBlockElement
NewDatePickerBlockElement returns an instance of a datetime picker element
func (DateTimePickerBlockElement) ElementType ¶
func (s DateTimePickerBlockElement) ElementType() MessageElementType
ElementType returns the type of the Element
type DesktopNotificationEvent ¶
type DesktopNotificationEvent struct { Type string `json:"type"` Title string `json:"title"` Subtitle string `json:"subtitle"` Message string `json:"msg"` Timestamp string `json:"ts"` Content string `json:"content"` Channel string `json:"channel"` LaunchURI string `json:"launchUri"` AvatarImage string `json:"avatarImage"` SsbFilename string `json:"ssbFilename"` ImageURI string `json:"imageUri"` IsChannelInvite bool `json:"is_channel_invite"` EventTimestamp string `json:"event_ts"` }
DesktopNotificationEvent represents the update event for Desktop Notification.
type Dialog ¶
type Dialog struct { TriggerID string `json:"trigger_id"` // Required CallbackID string `json:"callback_id"` // Required State string `json:"state,omitempty"` // Optional Title string `json:"title"` SubmitLabel string `json:"submit_label,omitempty"` NotifyOnCancel bool `json:"notify_on_cancel"` Elements []DialogElement `json:"elements"` }
Dialog as in Slack dialogs https://api.slack.com/dialogs#option_element_attributes#top-level_dialog_attributes
Example ¶
dialog := _mocDialog() fmt.Println(*dialog)
Output: {trigger_xyz callback_xyz Dialog_title Send false []}
type DialogCallback ¶
type DialogCallback InteractionCallback
DialogCallback DEPRECATED use InteractionCallback
type DialogInput ¶
type DialogInput struct { Type InputType `json:"type"` Label string `json:"label"` Name string `json:"name"` Placeholder string `json:"placeholder"` Optional bool `json:"optional"` Hint string `json:"hint"` }
DialogInput for dialogs input type text or menu
type DialogInputSelect ¶
type DialogInputSelect struct { DialogInput Value string `json:"value,omitempty"` //Optional. DataSource SelectDataSource `json:"data_source,omitempty"` //Optional. Allowed values: "users", "channels", "conversations", "external". SelectedOptions []DialogSelectOption `json:"selected_options,omitempty"` //Optional. May hold at most one element, for use with "external" only. Options []DialogSelectOption `json:"options,omitempty"` //One of options or option_groups is required. OptionGroups []DialogOptionGroup `json:"option_groups,omitempty"` //Provide up to 100 options. MinQueryLength int `json:"min_query_length,omitempty"` //Optional. minimum characters before query is sent. Hint string `json:"hint,omitempty"` //Optional. Additional hint text. }
DialogInputSelect dialog support for select boxes.
func NewChannelsSelect ¶
func NewChannelsSelect(name, label string) *DialogInputSelect
NewChannelsSelect returns a `Channels` select
func NewConversationsSelect ¶
func NewConversationsSelect(name, label string) *DialogInputSelect
NewConversationsSelect returns a `Conversations` select
func NewExternalSelectDialogInput ¶
func NewExternalSelectDialogInput(name, label string, options []DialogSelectOption) *DialogInputSelect
NewExternalSelectDialogInput constructor for a `external` datasource menu input
func NewGroupedSelectDialogInput ¶
func NewGroupedSelectDialogInput(name, label string, options []DialogOptionGroup) *DialogInputSelect
NewGroupedSelectDialogInput creates grouped options select input for Dialogs.
func NewStaticSelectDialogInput ¶
func NewStaticSelectDialogInput(name, label string, options []DialogSelectOption) *DialogInputSelect
NewStaticSelectDialogInput constructor for a `static` datasource menu input
func NewUsersSelect ¶
func NewUsersSelect(name, label string) *DialogInputSelect
NewUsersSelect returns a `Users` select
type DialogInputValidationError ¶
DialogInputValidationError is an error when user inputs incorrect value to form from within a dialog
type DialogInputValidationErrors ¶
type DialogInputValidationErrors struct {
Errors []DialogInputValidationError `json:"errors"`
}
DialogInputValidationErrors lists the name of field and that error messages
type DialogOpenResponse ¶
type DialogOpenResponse struct { SlackResponse DialogResponseMetadata DialogResponseMetadata `json:"response_metadata"` }
DialogOpenResponse response from `dialog.open`
type DialogOptionGroup ¶
type DialogOptionGroup struct { Label string `json:"label"` Options []DialogSelectOption `json:"options"` }
DialogOptionGroup is a collection of options for creating a segmented table
func NewDialogOptionGroup ¶
func NewDialogOptionGroup(label string, options ...DialogSelectOption) DialogOptionGroup
NewDialogOptionGroup creates a DialogOptionGroup from several select options
type DialogResponseMetadata ¶
type DialogResponseMetadata struct {
Messages []string `json:"messages"`
}
DialogResponseMetadata lists the error messages
type DialogSelectOption ¶
DialogSelectOption is an option for the user to select from the menu
type DialogSubmissionCallback ¶
type DialogSubmissionCallback struct { // NOTE: State is only used with the dialog_submission type. // You should use InteractionCallback.BlockActionsState for block_actions type. State string `json:"-"` Submission map[string]string `json:"submission"` }
DialogSubmissionCallback is sent from Slack when a user submits a form from within a dialog
type DialogTrigger ¶
type DialogTrigger struct { TriggerID string `json:"trigger_id"` //Required. Must respond within 3 seconds. Dialog Dialog `json:"dialog"` //Required. }
DialogTrigger ...
type DisconnectedEvent ¶
DisconnectedEvent contains information about how we disconnected
type DispatchActionConfig ¶
type DispatchActionConfig struct {
TriggerActionsOn []string `json:"trigger_actions_on,omitempty"`
}
type Display ¶
type Display struct { Name string `json:"name" yaml:"name"` Description string `json:"description,omitempty" yaml:"description,omitempty"` LongDescription string `json:"long_description,omitempty" yaml:"long_description,omitempty"` BackgroundColor string `json:"background_color,omitempty" yaml:"background_color,omitempty"` }
Display is a group of settings that describe parts of an app's appearance within Slack
type DividerBlock ¶
type DividerBlock struct { Type MessageBlockType `json:"type"` BlockID string `json:"block_id,omitempty"` }
DividerBlock for displaying a divider line between blocks (similar to <hr> tag in html)
More Information: https://api.slack.com/reference/messaging/blocks#divider
func NewDividerBlock ¶
func NewDividerBlock() *DividerBlock
NewDividerBlock returns a new instance of a divider block
func (DividerBlock) BlockType ¶
func (s DividerBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type EditBookmarkParameters ¶
type EmailDomainChangedEvent ¶
type EmailDomainChangedEvent struct { Type string `json:"type"` EventTimestamp string `json:"event_ts"` EmailDomain string `json:"email_domain"` }
EmailDomainChangedEvent represents the email domain changed event
type EmailTextInputBlockElement ¶
type EmailTextInputBlockElement struct { Type MessageElementType `json:"type"` ActionID string `json:"action_id,omitempty"` Placeholder *TextBlockObject `json:"placeholder,omitempty"` InitialValue string `json:"initial_value,omitempty"` DispatchActionConfig *DispatchActionConfig `json:"dispatch_action_config,omitempty"` FocusOnLoad bool `json:"focus_on_load,omitempty"` }
EmailTextInputBlockElement creates a field where a user can enter email data. email-text-input elements are currently only available in modals.
More Information: https://api.slack.com/reference/block-kit/block-elements#email
func NewEmailTextInputBlockElement ¶
func NewEmailTextInputBlockElement(placeholder *TextBlockObject, actionID string) *EmailTextInputBlockElement
NewEmailTextInputBlockElement returns an instance of a plain-text input element
func (EmailTextInputBlockElement) ElementType ¶
func (s EmailTextInputBlockElement) ElementType() MessageElementType
ElementType returns the type of the Element
type EmojiChangedEvent ¶
type EmojiChangedEvent struct { Type string `json:"type"` SubType string `json:"subtype"` Name string `json:"name"` Names []string `json:"names"` Value string `json:"value"` EventTimestamp string `json:"event_ts"` }
EmojiChangedEvent represents the emoji changed event
type Enterprise ¶
type EnterpriseUser ¶
type EnterpriseUser struct { ID string `json:"id"` EnterpriseID string `json:"enterprise_id"` EnterpriseName string `json:"enterprise_name"` IsAdmin bool `json:"is_admin"` IsOwner bool `json:"is_owner"` Teams []string `json:"teams"` }
EnterpriseUser is present when a user is part of Slack Enterprise Grid https://api.slack.com/types/user#enterprise_grid_user_objects
type Event ¶
type Event struct {
Type string `json:"type,omitempty"`
}
Event contains the event type
type EventAuthorization ¶
type EventSubscriptions ¶
type EventSubscriptions struct { RequestUrl string `json:"request_url,omitempty" yaml:"request_url,omitempty"` BotEvents []string `json:"bot_events,omitempty" yaml:"bot_events,omitempty"` UserEvents []string `json:"user_events,omitempty" yaml:"user_events,omitempty"` }
EventSubscriptions is a group of settings that describe the Events API configuration
type ExportManifestResponse ¶
type ExportManifestResponse struct { Manifest Manifest `json:"manifest,omitempty"` SlackResponse }
type Features ¶
type Features struct { AppHome AppHome `json:"app_home,omitempty" yaml:"app_home,omitempty"` BotUser BotUser `json:"bot_user,omitempty" yaml:"bot_user,omitempty"` Shortcuts []Shortcut `json:"shortcuts,omitempty" yaml:"shortcuts,omitempty"` SlashCommands []ManifestSlashCommand `json:"slash_commands,omitempty" yaml:"slash_commands,omitempty"` WorkflowSteps []WorkflowStep `json:"workflow_steps,omitempty" yaml:"workflow_steps,omitempty"` }
Features is a group of settings corresponding to the Features section of the app config pages
type File ¶
type File struct { ID string `json:"id"` Created JSONTime `json:"created"` Timestamp JSONTime `json:"timestamp"` Name string `json:"name"` Title string `json:"title"` Mimetype string `json:"mimetype"` ImageExifRotation int `json:"image_exif_rotation"` Filetype string `json:"filetype"` PrettyType string `json:"pretty_type"` User string `json:"user"` Mode string `json:"mode"` Editable bool `json:"editable"` IsExternal bool `json:"is_external"` ExternalType string `json:"external_type"` Size int `json:"size"` URL string `json:"url"` // Deprecated - never set URLDownload string `json:"url_download"` // Deprecated - never set URLPrivate string `json:"url_private"` URLPrivateDownload string `json:"url_private_download"` OriginalH int `json:"original_h"` OriginalW int `json:"original_w"` Thumb64 string `json:"thumb_64"` Thumb80 string `json:"thumb_80"` Thumb160 string `json:"thumb_160"` Thumb360 string `json:"thumb_360"` Thumb360Gif string `json:"thumb_360_gif"` Thumb360W int `json:"thumb_360_w"` Thumb360H int `json:"thumb_360_h"` Thumb480 string `json:"thumb_480"` Thumb480W int `json:"thumb_480_w"` Thumb480H int `json:"thumb_480_h"` Thumb720 string `json:"thumb_720"` Thumb720W int `json:"thumb_720_w"` Thumb720H int `json:"thumb_720_h"` Thumb960 string `json:"thumb_960"` Thumb960W int `json:"thumb_960_w"` Thumb960H int `json:"thumb_960_h"` Thumb1024 string `json:"thumb_1024"` Thumb1024W int `json:"thumb_1024_w"` Thumb1024H int `json:"thumb_1024_h"` Permalink string `json:"permalink"` PermalinkPublic string `json:"permalink_public"` EditLink string `json:"edit_link"` Preview string `json:"preview"` PreviewHighlight string `json:"preview_highlight"` Lines int `json:"lines"` LinesMore int `json:"lines_more"` IsPublic bool `json:"is_public"` Channels []string `json:"channels"` Groups []string `json:"groups"` IMs []string `json:"ims"` InitialComment Comment `json:"initial_comment"` CommentsCount int `json:"comments_count"` NumStars int `json:"num_stars"` IsStarred bool `json:"is_starred"` }
File contains all the information for a file
type FileBlock ¶
type FileBlock struct { Type MessageBlockType `json:"type"` BlockID string `json:"block_id,omitempty"` ExternalID string `json:"external_id"` Source string `json:"source"` }
FileBlock defines data that is used to display a remote file.
More Information: https://api.slack.com/reference/block-kit/blocks#file
func NewFileBlock ¶
NewFileBlock returns a new instance of a file block
func (FileBlock) BlockType ¶
func (s FileBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type FileChangeEvent ¶
type FileChangeEvent fileActionEvent
FileChangeEvent represents the File change event
type FileCommentAddedEvent ¶
type FileCommentAddedEvent struct { Comment Comment `json:"comment"` // contains filtered or unexported fields }
FileCommentAddedEvent represents the File comment added event
type FileCommentDeletedEvent ¶
type FileCommentDeletedEvent struct { Comment string `json:"comment"` // contains filtered or unexported fields }
FileCommentDeletedEvent represents the File comment deleted event
type FileCommentEditedEvent ¶
type FileCommentEditedEvent struct { Comment Comment `json:"comment"` // contains filtered or unexported fields }
FileCommentEditedEvent represents the File comment edited event
type FileCreatedEvent ¶
type FileCreatedEvent fileActionEvent
FileCreatedEvent represents the File created event
type FileDeletedEvent ¶
type FileDeletedEvent fileActionEvent
FileDeletedEvent represents the File deleted event
type FilePrivateEvent ¶
type FilePrivateEvent fileActionEvent
FilePrivateEvent represents the File private event
type FilePublicEvent ¶
type FilePublicEvent fileActionEvent
FilePublicEvent represents the File public event
type FileSharedEvent ¶
type FileSharedEvent fileActionEvent
FileSharedEvent represents the File shared event
type FileSummary ¶
type FileUnsharedEvent ¶
type FileUnsharedEvent fileActionEvent
FileUnsharedEvent represents the File unshared event
type FileUploadParameters ¶
type FileUploadParameters struct { File string Content string Reader io.Reader Filetype string Filename string Title string InitialComment string Channels []string ThreadTimestamp string }
FileUploadParameters contains all the parameters necessary (including the optional ones) for an UploadFile() request.
There are three ways to upload a file. You can either set Content if file is small, set Reader if file is large, or provide a local file path in File to upload it from your filesystem.
Note that when using the Reader option, you *must* specify the Filename, otherwise the Slack API isn't happy.
type GetConversationInfoInput ¶
GetConversationInfoInput Defines the parameters of a GetConversationInfo and GetConversationInfoContext function
type GetFilesParameters ¶
type GetFilesParameters struct { User string Channel string TimestampFrom JSONTime TimestampTo JSONTime Types string Count int Page int ShowHidden bool }
GetFilesParameters contains all the parameters necessary (including the optional ones) for a GetFiles() request
func NewGetFilesParameters ¶
func NewGetFilesParameters() GetFilesParameters
NewGetFilesParameters provides an instance of GetFilesParameters with all the sane default values set
type GetReactionsParameters ¶
type GetReactionsParameters struct {
Full bool
}
GetReactionsParameters is the inputs to get reactions to an item.
func NewGetReactionsParameters ¶
func NewGetReactionsParameters() GetReactionsParameters
NewGetReactionsParameters initializes the inputs to get reactions to an item.
type GetUserGroupsOption ¶
type GetUserGroupsOption func(*GetUserGroupsParams)
GetUserGroupsOption options for the GetUserGroups method call.
func GetUserGroupsOptionIncludeCount ¶
func GetUserGroupsOptionIncludeCount(b bool) GetUserGroupsOption
GetUserGroupsOptionIncludeCount include the number of users in each User Group (default: false)
func GetUserGroupsOptionIncludeDisabled ¶
func GetUserGroupsOptionIncludeDisabled(b bool) GetUserGroupsOption
GetUserGroupsOptionIncludeDisabled include disabled User Groups (default: false)
func GetUserGroupsOptionIncludeUsers ¶
func GetUserGroupsOptionIncludeUsers(b bool) GetUserGroupsOption
GetUserGroupsOptionIncludeUsers include the list of users for each User Group (default: false)
type GetUserGroupsParams ¶
GetUserGroupsParams contains arguments for GetUserGroups method call
type GetUserProfileParameters ¶
GetUserProfileParameters are the parameters required to get user profile
type GetUsersOption ¶
type GetUsersOption func(*UserPagination)
GetUsersOption options for the GetUsers method call.
func GetUsersOptionLimit ¶
func GetUsersOptionLimit(n int) GetUsersOption
GetUsersOptionLimit limit the number of users returned
func GetUsersOptionPresence ¶
func GetUsersOptionPresence(n bool) GetUsersOption
GetUsersOptionPresence include user presence
func GetUsersOptionTeamID ¶
func GetUsersOptionTeamID(teamId string) GetUsersOption
GetUsersOptionTeamID include team Id
type Group ¶
type Group struct { GroupConversation IsGroup bool `json:"is_group"` }
Group contains all the information for a group
type GroupArchiveEvent ¶
type GroupArchiveEvent ChannelInfoEvent
GroupArchiveEvent represents the Group archive event
type GroupCloseEvent ¶
type GroupCloseEvent ChannelInfoEvent
GroupCloseEvent represents the Group close event
type GroupConversation ¶
type GroupConversation struct { Conversation Name string `json:"name"` Creator string `json:"creator"` IsArchived bool `json:"is_archived"` Members []string `json:"members"` Topic Topic `json:"topic"` Purpose Purpose `json:"purpose"` }
GroupConversation is the foundation for Group and Channel
type GroupCreatedEvent ¶
type GroupCreatedEvent struct { Type string `json:"type"` User string `json:"user"` Channel ChannelCreatedInfo `json:"channel"` }
GroupCreatedEvent represents the Group created event
type GroupHistoryChangedEvent ¶
type GroupHistoryChangedEvent ChannelHistoryChangedEvent
GroupHistoryChangedEvent represents the Group history changed event
type GroupJoinedEvent ¶
type GroupJoinedEvent ChannelJoinedEvent
GroupJoinedEvent represents the Group joined event
type GroupLeftEvent ¶
type GroupLeftEvent ChannelInfoEvent
GroupLeftEvent represents the Group left event
type GroupMarkedEvent ¶
type GroupMarkedEvent ChannelInfoEvent
GroupMarkedEvent represents the Group marked event
type GroupOpenEvent ¶
type GroupOpenEvent ChannelInfoEvent
GroupOpenEvent represents the Group open event
type GroupRenameEvent ¶
type GroupRenameEvent struct { Type string `json:"type"` Group GroupRenameInfo `json:"channel"` Timestamp string `json:"ts"` }
GroupRenameEvent represents the Group rename event
type GroupRenameInfo ¶
type GroupRenameInfo struct { ID string `json:"id"` Name string `json:"name"` Created string `json:"created"` }
GroupRenameInfo represents the group info related to the renamed group
type GroupUnarchiveEvent ¶
type GroupUnarchiveEvent ChannelInfoEvent
GroupUnarchiveEvent represents the Group unarchive event
type HeaderBlock ¶
type HeaderBlock struct { Type MessageBlockType `json:"type"` Text *TextBlockObject `json:"text,omitempty"` BlockID string `json:"block_id,omitempty"` }
HeaderBlock defines a new block of type header
More Information: https://api.slack.com/reference/messaging/blocks#header
func NewHeaderBlock ¶
func NewHeaderBlock(textObj *TextBlockObject, options ...HeaderBlockOption) *HeaderBlock
NewHeaderBlock returns a new instance of a header block to be rendered
func (HeaderBlock) BlockType ¶
func (s HeaderBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type HeaderBlockOption ¶
type HeaderBlockOption func(*HeaderBlock)
HeaderBlockOption allows configuration of options for a new header block
func HeaderBlockOptionBlockID ¶
func HeaderBlockOptionBlockID(blockID string) HeaderBlockOption
type History ¶
type History struct { Latest string `json:"latest"` Messages []Message `json:"messages"` HasMore bool `json:"has_more"` Unread int `json:"unread_count_display"` }
History contains message history information needed to navigate a Channel / Group / DM history
type HistoryParameters ¶
HistoryParameters contains all the necessary information to help in the retrieval of history for Channels/Groups/DMs
func NewHistoryParameters ¶
func NewHistoryParameters() HistoryParameters
NewHistoryParameters provides an instance of HistoryParameters with all the sane default values set
type HomeTabViewRequest ¶
type HomeTabViewRequest struct { Type ViewType `json:"type"` Blocks Blocks `json:"blocks"` PrivateMetadata string `json:"private_metadata,omitempty"` CallbackID string `json:"callback_id,omitempty"` ExternalID string `json:"external_id,omitempty"` }
func (*HomeTabViewRequest) ViewType ¶
func (v *HomeTabViewRequest) ViewType() ViewType
type IDGenerator ¶
type IDGenerator interface {
Next() int
}
IDGenerator provides an interface for generating integer ID values.
func NewSafeID ¶
func NewSafeID(startID int) IDGenerator
NewSafeID returns a new instance of an IDGenerator which is safe for concurrent use by multiple goroutines.
type IM ¶
type IM struct { Conversation IsUserDeleted bool `json:"is_user_deleted"` }
IM contains information related to the Direct Message channel
type IMCreatedEvent ¶
type IMCreatedEvent struct { Type string `json:"type"` User string `json:"user"` Channel ChannelCreatedInfo `json:"channel"` }
IMCreatedEvent represents the IM created event
type IMHistoryChangedEvent ¶
type IMHistoryChangedEvent ChannelHistoryChangedEvent
IMHistoryChangedEvent represents the IM history changed event
type IMMarkedEvent ¶
type IMMarkedEvent ChannelInfoEvent
IMMarkedEvent represents the IM marked event
type IMMarkedHistoryChanged ¶
type IMMarkedHistoryChanged ChannelInfoEvent
IMMarkedHistoryChanged represents the IM marked history changed event
type Icon ¶
type Icon struct { IconURL string `json:"icon_url,omitempty"` IconEmoji string `json:"icon_emoji,omitempty"` }
Icon is used for bot messages
type Icons ¶
type Icons struct { Image36 string `json:"image_36,omitempty"` Image48 string `json:"image_48,omitempty"` Image72 string `json:"image_72,omitempty"` }
Icons XXX: needs further investigation
type ImageBlock ¶
type ImageBlock struct { Type MessageBlockType `json:"type"` ImageURL string `json:"image_url"` AltText string `json:"alt_text"` BlockID string `json:"block_id,omitempty"` Title *TextBlockObject `json:"title,omitempty"` }
ImageBlock defines data required to display an image as a block element
More Information: https://api.slack.com/reference/messaging/blocks#image
func NewImageBlock ¶
func NewImageBlock(imageURL, altText, blockID string, title *TextBlockObject) *ImageBlock
NewImageBlock returns an instance of a new Image Block type
func (ImageBlock) BlockType ¶
func (s ImageBlock) BlockType() MessageBlockType
BlockType returns the type of the block
type ImageBlockElement ¶
type ImageBlockElement struct { Type MessageElementType `json:"type"` ImageURL string `json:"image_url"` AltText string `json:"alt_text"` }
ImageBlockElement An element to insert an image - this element can be used in section and context blocks only. If you want a block with only an image in it, you're looking for the image block.
More Information: https://api.slack.com/reference/messaging/block-elements#image
func NewImageBlockElement ¶
func NewImageBlockElement(imageURL, altText string) *ImageBlockElement
NewImageBlockElement returns a new instance of an image block element
func (ImageBlockElement) ElementType ¶
func (s ImageBlockElement) ElementType() MessageElementType
ElementType returns the type of the Element
func (ImageBlockElement) MixedElementType ¶
func (s ImageBlockElement) MixedElementType() MixedElementType
type IncomingEventError ¶
type IncomingEventError struct {
ErrorObj error
}
IncomingEventError contains information about an unexpected error receiving a websocket event
func (*IncomingEventError) Error ¶
func (i *IncomingEventError) Error() string
type Info ¶
type Info struct { URL string `json:"url,omitempty"` User *UserDetails `json:"self,omitempty"` Team *Team `json:"team,omitempty"` }
Info contains various details about the authenticated user and team. It is returned by StartRTM or included in the "ConnectedEvent" RTM event.
func (Info) GetBotByID ¶
GetBotByID is deprecated and returns nil
func (Info) GetChannelByID ¶
GetChannelByID is deprecated and returns nil
func (Info) GetGroupByID ¶
GetGroupByID is deprecated and returns nil
func (Info) GetUserByID ¶
GetUserByID is deprecated and returns nil
type InputBlock ¶
type InputBlock struct { Type MessageBlockType `json:"type"` BlockID string `json:"block_id,omitempty"` Label *TextBlockObject `json:"label"` Element BlockElement `json:"element"` Hint *TextBlockObject `json:"hint,omitempty"` Optional bool `json:"optional,omitempty"` DispatchAction bool `json:"dispatch_action,omitempty"` }
InputBlock defines data that is used to display user input fields.
More Information: https://api.slack.com/reference/block-kit/blocks#input
func NewInputBlock ¶
func NewInputBlock(blockID string, label, hint *TextBlockObject, element BlockElement) *InputBlock
NewInputBlock returns a new instance of an input block
func (InputBlock) BlockType ¶
func (s InputBlock) BlockType() MessageBlockType
BlockType returns the type of the block
func (*InputBlock) UnmarshalJSON ¶
func (b *InputBlock) UnmarshalJSON(data []byte) error
UnmarshalJSON implements the Unmarshaller interface for InputBlock, so that any JSON unmarshalling is delegated and proper type determination can be made before unmarshal
type InteractionCallback ¶
type InteractionCallback struct { Type InteractionType `json:"type"` Token string `json:"token"` CallbackID string `json:"callback_id"` ResponseURL string `json:"response_url"` TriggerID string `json:"trigger_id"` ActionTs string `json:"action_ts"` Team Team `json:"team"` Channel Channel `json:"channel"` User User `json:"user"` OriginalMessage Message `json:"original_message"` Message Message `json:"message"` Name string `json:"name"` Value string `json:"value"` MessageTs string `json:"message_ts"` AttachmentID string `json:"attachment_id"` ActionCallback ActionCallbacks `json:"actions"` View View `json:"view"` ActionID string `json:"action_id"` APIAppID string `json:"api_app_id"` BlockID string `json:"block_id"` Container Container `json:"container"` Enterprise Enterprise `json:"enterprise"` WorkflowStep InteractionWorkflowStep `json:"workflow_step"` DialogSubmissionCallback ViewSubmissionCallback ViewClosedCallback // FIXME(kanata2): just workaround for backward-compatibility. // See also https://github.com/slack-go/slack/issues/816 RawState json.RawMessage `json:"state,omitempty"` // BlockActionState stands for the `state` field in block_actions type. // NOTE: InteractionCallback.State has a role for the state of dialog_submission type, // so we cannot use this field for backward-compatibility for now. BlockActionState *BlockActionStates `json:"-"` }
InteractionCallback is sent from slack when a user interactions with a button or dialog.
func (*InteractionCallback) MarshalJSON ¶
func (ic *InteractionCallback) MarshalJSON() ([]byte, error)
func (*InteractionCallback) UnmarshalJSON ¶
func (ic *InteractionCallback) UnmarshalJSON(b []byte) error
type InteractionWorkflowStep ¶
type InteractionWorkflowStep struct { WorkflowStepEditID string `json:"workflow_step_edit_id,omitempty"` WorkflowID string `json:"workflow_id"` StepID string `json:"step_id"` Inputs *WorkflowStepInputs `json:"inputs,omitempty"` Outputs *[]WorkflowStepOutput `json:"outputs,omitempty"` }
type Interactivity ¶
type Interactivity struct { IsEnabled bool `json:"is_enabled" yaml:"is_enabled"` RequestUrl string `json:"request_url,omitempty" yaml:"request_url,omitempty"` MessageMenuOptionsUrl string `json:"message_menu_options_url,omitempty" yaml:"message_menu_options_url,omitempty"` }
Interactivity is a group of settings that describe the interactivity configuration
type InvalidAuthEvent ¶
type InvalidAuthEvent struct{}
InvalidAuthEvent is used in case we can't even authenticate with the API
type Item ¶
type Item struct { Type string `json:"type"` Channel string `json:"channel,omitempty"` Message *Message `json:"message,omitempty"` File *File `json:"file,omitempty"` Comment *Comment `json:"comment,omitempty"` Timestamp string `json:"ts,omitempty"` }
Item is any type of slack message - message, file, or file comment.
func NewChannelItem ¶
NewChannelItem turns a channel id into a typed channel struct.
func NewFileCommentItem ¶
NewFileCommentItem turns a file and comment into a typed file_comment struct.
func NewFileItem ¶
NewFileItem turns a file into a typed file struct.
func NewGroupItem ¶
NewGroupItem turns a channel id into a typed group struct.
func NewMessageItem ¶
NewMessageItem turns a message on a channel into a typed message struct.
type ItemReaction ¶
type ItemReaction struct { Name string `json:"name"` Count int `json:"count"` Users []string `json:"users"` }
ItemReaction is the reactions that have happened on an item.
type ItemRef ¶
type ItemRef struct { Channel string `json:"channel"` Timestamp string `json:"timestamp"` File string `json:"file"` Comment string `json:"file_comment"` }
ItemRef is a reference to a message of any type. One of FileID, CommentId, or the combination of ChannelId and Timestamp must be specified.
func NewRefToComment ¶
NewRefToComment initializes a reference to a file comment.
func NewRefToFile ¶
NewRefToFile initializes a reference to a file.
func NewRefToMessage ¶
NewRefToMessage initializes a reference to to a message.
type JSONTime ¶
type JSONTime int64
JSONTime exists so that we can have a String method converting the date
func (*JSONTime) UnmarshalJSON ¶
UnmarshalJSON will unmarshal both string and int JSON values
type LatencyReport ¶
LatencyReport contains information about connection latency
type ListFilesParameters ¶
ListFilesParameters contains all the parameters necessary (including the optional ones) for a ListFiles() request
type ListReactionsParameters ¶
ListReactionsParameters is the inputs to find all reactions by a user.
func NewListReactionsParameters ¶
func NewListReactio