Documentation ¶
Index ¶
- type Bot
- func (b *Bot) DM(userID string, post *model.Post) error
- func (b *Bot) EphemeralPost(userID, channelID string, post *model.Post)
- func (b *Bot) EphemeralPostWithAttachments(userID, channelID, postID string, attachments []*model.SlackAttachment, ...)
- func (b *Bot) IsFromPoster(post *model.Post) bool
- func (b *Bot) NotifyAdmins(messageType, authorUserID string, isTeamEdition bool) error
- func (b *Bot) Post(post *model.Post) error
- func (b *Bot) PostCustomMessageWithAttachments(channelID, customType string, attachments []*model.SlackAttachment, ...) (*model.Post, error)
- func (b *Bot) PostMessage(channelID, format string, args ...interface{}) (*model.Post, error)
- func (b *Bot) PostMessageToThread(rootPostID string, post *model.Post) error
- func (b *Bot) PostMessageWithAttachments(channelID string, attachments []*model.SlackAttachment, format string, ...) (*model.Post, error)
- func (b *Bot) PublishWebsocketEventToChannel(event string, payload interface{}, channelID string)
- func (b *Bot) PublishWebsocketEventToTeam(event string, payload interface{}, teamID string)
- func (b *Bot) PublishWebsocketEventToUser(event string, payload interface{}, userID string)
- func (b *Bot) SystemEphemeralPost(userID, channelID string, post *model.Post)
- type Poster
- type Telemetry
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Bot ¶
type Bot struct {
// contains filtered or unexported fields
}
Bot stores the information for the plugin configuration, and implements the Poster interfaces.
func New ¶
func New(api *pluginapi.Client, botUserID string, configService config.Service, telemetry Telemetry) *Bot
New creates a new bot poster.
func (*Bot) EphemeralPost ¶
EphemeralPost sends an ephemeral message to a user
func (*Bot) EphemeralPostWithAttachments ¶
func (b *Bot) EphemeralPostWithAttachments(userID, channelID, postID string, attachments []*model.SlackAttachment, format string, args ...interface{})
EphemeralPostWithAttachments sends an ephemeral message to a user with Slack attachments.
func (*Bot) NotifyAdmins ¶
func (*Bot) Post ¶
Post posts a custom post. The Message and ChannelId fields should be provided in the specified post
func (*Bot) PostCustomMessageWithAttachments ¶
func (*Bot) PostMessage ¶
PostMessage posts a message to a specified channel.
func (*Bot) PostMessageToThread ¶
PostMessageToThread posts a message to a specified thread identified by rootPostID. If the rootPostID is blank, or the rootPost is deleted, it will create a standalone post. The overwritten post's RootID will be the correct rootID (save that if you want to continue the thread).
func (*Bot) PostMessageWithAttachments ¶
func (b *Bot) PostMessageWithAttachments(channelID string, attachments []*model.SlackAttachment, format string, args ...interface{}) (*model.Post, error)
PostMessageWithAttachments posts a message with slack attachments to channelID. Returns the post id if posting was successful. Often used to include post actions.
func (*Bot) PublishWebsocketEventToChannel ¶
PublishWebsocketEventToChannel sends a websocket event with payload to channelID
func (*Bot) PublishWebsocketEventToTeam ¶
PublishWebsocketEventToTeam sends a websocket event with payload to teamID
func (*Bot) PublishWebsocketEventToUser ¶
PublishWebsocketEventToUser sends a websocket event with payload to userID
type Poster ¶
type Poster interface { // Post posts a custom post, which should provide the Message and ChannelId fields Post(post *model.Post) error // PostMessage posts a simple message to channelID. Returns the post id if posting was successful. PostMessage(channelID, format string, args ...interface{}) (*model.Post, error) // PostMessageToThread posts a message to a specified channel and thread identified by rootPostID. // If the rootPostID is blank, or the rootPost is deleted, it will create a standalone post. The // returned post's RootID (or ID, if there was no root post) should be used as the rootID for // future use (i.e., save that if you want to continue the thread). PostMessageToThread(rootPostID string, post *model.Post) error // PostMessageWithAttachments posts a message with slack attachments to channelID. Returns the post id if // posting was successful. Often used to include post actions. PostMessageWithAttachments(channelID string, attachments []*model.SlackAttachment, format string, args ...interface{}) (*model.Post, error) // PostCustomMessageWithAttachments posts a custom message with the specified type. Falling back to attachments for mobile. PostCustomMessageWithAttachments(channelID, customType string, attachments []*model.SlackAttachment, format string, args ...interface{}) (*model.Post, error) // DM posts a DM from the plugin bot to the specified user DM(userID string, post *model.Post) error // EphemeralPost sends an ephemeral message to a user. EphemeralPost(userID, channelID string, post *model.Post) // SystemEphemeralPost sends an ephemeral message to a user authored by the System. SystemEphemeralPost(userID, channelID string, post *model.Post) // EphemeralPostWithAttachments sends an ephemeral message to a user with Slack attachments. EphemeralPostWithAttachments(userID, channelID, rootPostID string, attachments []*model.SlackAttachment, format string, args ...interface{}) // PublishWebsocketEventToTeam sends a websocket event with payload to teamID. PublishWebsocketEventToTeam(event string, payload interface{}, teamID string) // PublishWebsocketEventToChannel sends a websocket event with payload to channelID. PublishWebsocketEventToChannel(event string, payload interface{}, channelID string) // PublishWebsocketEventToUser sends a websocket event with payload to userID. PublishWebsocketEventToUser(event string, payload interface{}, userID string) // NotifyAdmins sends a DM with the message to each admins NotifyAdmins(message, authorUserID string, isTeamEdition bool) error // IsFromPoster returns whether the provided post was sent by this poster IsFromPoster(post *model.Post) bool }
Poster interface - a small subset of the plugin posting API.