Documentation ¶
Index ¶
- func CaptureAll(regEx *regexp.Regexp, s string) map[string]interface{}
- func ParseExprs(exprs []string) ([]*regexp.Regexp, error)
- func Render(tpl template.Template, data interface{}) (string, error)
- func RenderAll(tpls []template.Template, data interface{}) ([]string, error)
- type Command
- type Handler
- type HandlerFunc
- type Logger
- type MessageEvent
- type Skit
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CaptureAll ¶
CaptureAll matches s with the regex and returns all named capture values. Returns nil if the s was not a match.
func ParseExprs ¶
ParseExprs parses given list of regular expressions and returns the compiled objects.
Types ¶
type Command ¶
type Command struct { Timeout time.Duration RedirectErr bool WorkingDir string // contains filtered or unexported fields }
Command runs configured command when the message matches the regular expressions.
func CommandHandler ¶
CommandHandler executes a configured command when input message matches one of the regex patterns. cmd and args both will be parsed as golang text templates. Named captures from pattern that matches the input message will be used as data for rendering command name and every argument.
type Handler ¶
type Handler interface { // Handle should return true if the message event was handled by it. If this // function returns false, skit will execute the next Handler available and // so on. Handle(ctx context.Context, sk *Skit, ev *MessageEvent) bool }
Handler is responsible for handling slack message events.
func SimpleHandler ¶
SimpleHandler responds with a simple message if the input message matches one of the regular expressions. The message (argument tplStr) can be a golang text template. Named captures from the regex that matches the input message will be used as data for rendering the message template.
type HandlerFunc ¶
type HandlerFunc func(ctx context.Context, sk *Skit, ev *MessageEvent) bool
HandlerFunc implements Handler interface using function type.
func (HandlerFunc) Handle ¶
func (hf HandlerFunc) Handle(ctx context.Context, sk *Skit, ev *MessageEvent) bool
Handle dispatches the call to the wrapped function.
type Logger ¶
type Logger interface { Debugf(msg string, args ...interface{}) Infof(msg string, args ...interface{}) Warnf(msg string, args ...interface{}) Errorf(msg string, args ...interface{}) }
Logger implementation is responsible for providing logging functions.
type MessageEvent ¶
type MessageEvent slack.MessageEvent
MessageEvent represents a slack message event.
type Skit ¶
type Skit struct { Logger // contains filtered or unexported fields }
Skit represents an instance of skit.
func (*Skit) Listen ¶
Listen connects to slack with the given configurations and starts the event loop