Documentation ¶
Index ¶
- func JSON(ref interface{}) string
- func JSONBlock(ref interface{}) string
- type Bot
- func (b *Bot) DM(userID string, post *model.Post) error
- func (b *Bot) Debugf(format string, args ...interface{})
- func (b *Bot) EphemeralPost(userID, channelID string, post *model.Post)
- func (b *Bot) EphemeralPostWithAttachments(userID, channelID, postID string, attachments []*model.SlackAttachment, ...)
- func (b *Bot) Errorf(format string, args ...interface{})
- func (b *Bot) Infof(format string, args ...interface{})
- 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(channelID, rootPostID, format string, args ...interface{}) (*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) Timed() Logger
- func (b *Bot) Warnf(format string, args ...interface{})
- func (b *Bot) With(logContext LogContext) Logger
- type LogContext
- type Logger
- type NilLogger
- func (l *NilLogger) Debugf(format string, args ...interface{})
- func (l *NilLogger) Errorf(format string, args ...interface{})
- func (l *NilLogger) Infof(format string, args ...interface{})
- func (l *NilLogger) Timed() Logger
- func (l *NilLogger) Warnf(format string, args ...interface{})
- func (l *NilLogger) With(logContext LogContext) Logger
- type Poster
- type Telemetry
- type TestLogger
- func (l *TestLogger) Debugf(format string, args ...interface{})
- func (l *TestLogger) Errorf(format string, args ...interface{})
- func (l *TestLogger) Infof(format string, args ...interface{})
- func (l *TestLogger) Timed() Logger
- func (l *TestLogger) Warnf(format string, args ...interface{})
- func (l *TestLogger) With(logContext LogContext) Logger
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Bot ¶
type Bot struct {
// contains filtered or unexported fields
}
Bot stores the information for the plugin configuration, and implements the Poster and Logger interfaces.
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) PostCustomMessageWithAttachments ¶
func (*Bot) PostMessage ¶
PostMessage posts a message to a specified channel.
func (*Bot) PostMessageToThread ¶
func (b *Bot) PostMessageToThread(channelID, rootPostID, 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 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 Logger ¶
type Logger interface { With(LogContext) Logger Timed() Logger Debugf(format string, args ...interface{}) Errorf(format string, args ...interface{}) Infof(format string, args ...interface{}) Warnf(format string, args ...interface{}) }
Logger interface - a logging system that will tee logs to a DM channel.
type Poster ¶
type Poster interface { // 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(channelID, rootPostID, 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. 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) // 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) }
Poster interface - a small subset of the plugin posting API.
type TestLogger ¶
TestLogger test logger.
func (*TestLogger) Debugf ¶
func (l *TestLogger) Debugf(format string, args ...interface{})
Debugf .
func (*TestLogger) Errorf ¶
func (l *TestLogger) Errorf(format string, args ...interface{})
Errorf .