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) 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) PromptForFeedback(userID string) 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) 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) PromptForFeedback ¶
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 {
// 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)
// 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
// PromptForFeedback sends a DM as the surveybot to the given user, prompting for product feedback.
PromptForFeedback(userID string) error
}
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 .