Documentation
¶
Index ¶
- type Client
- func (c *Client) Close() error
- func (c *Client) GetChannelId(name string) (string, error)
- func (c *Client) GetChannelInfo(roomID string) (*models.Channel, error)
- func (c *Client) JoinChannel(roomID string) error
- func (c *Client) Login(credentials *models.UserCredentials) (*models.User, error)
- func (c *Client) Logout() error
- func (c *Client) PostMessage(msg *models.PostMessage) (*rest.MessageResponse, error)
- func (c *Client) RealtimeClient() *realtime.Client
- func (c *Client) RestClient() *rest.Client
- func (c *Client) SendMessage(channel *models.Channel, text string) (*models.Message, error)
- func (c *Client) SubscribeToMessageStream(channel *models.Channel, msgCh chan models.Message) error
- type CronJob
- type CronJobFunc
- type Handler
- type HandlerFilter
- type HandlerFunc
- type Robot
- func (bot *Robot) Client() *Client
- func (bot *Robot) GetChannelByName(name string) (*models.Channel, error)
- func (bot *Robot) GetRoomIDByName(name string) (*models.Channel, error)
- func (bot *Robot) PostMessage(msg *models.PostMessage) (*rest.MessageResponse, error)
- func (bot *Robot) Reply(src *models.Message, text string) (*models.Message, error)
- func (bot *Robot) SendMessage(channel *models.Channel, text string) (*models.Message, error)
- func (bot *Robot) SendText(channelName string, text string) (*rest.MessageResponse, error)
- func (bot *Robot) Start() error
- func (bot *Robot) Stop()
- type SimpleCronJob
- type SimpleHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
Debug bool
// contains filtered or unexported fields
}
func (*Client) GetChannelInfo ¶
func (*Client) JoinChannel ¶
func (*Client) PostMessage ¶
func (c *Client) PostMessage(msg *models.PostMessage) (*rest.MessageResponse, error)
func (*Client) RealtimeClient ¶
func (*Client) RestClient ¶
func (*Client) SendMessage ¶
type CronJob ¶
type CronJob interface {
// JobSchedule returns schedule pattern.
// See https://godoc.org/github.com/robfig/cron
// NOTE: It is different from cron, there is also seconds field.
JobSchedule() string
// Run job action.
Run(*Robot) error
}
CronJob is a scheduled task.
type Handler ¶
type Handler interface {
Acceptable(*models.Message, *models.Channel) bool
Run(*Robot, *models.Message) error
}
Handler is a message handler.
type HandlerFilter ¶
func (*HandlerFilter) MatchChannel ¶
func (f *HandlerFilter) MatchChannel(channel *models.Channel) bool
func (*HandlerFilter) MatchMessage ¶
func (f *HandlerFilter) MatchMessage(msg *models.Message) bool
type Robot ¶
type Robot struct {
ServerURL string
Credentials *models.UserCredentials
DefaultChannel string
ErrorChannel string
IgnoreUsers []string
CronJobs []CronJob
Handlers []Handler
OnStart func(*Robot) error
OnStop func(*Robot) error
Logger *log.Logger
ConnectionLog bool
Debug bool
// contains filtered or unexported fields
}
func (*Robot) GetChannelByName ¶
func (*Robot) GetRoomIDByName ¶
func (*Robot) PostMessage ¶
func (bot *Robot) PostMessage(msg *models.PostMessage) (*rest.MessageResponse, error)
func (*Robot) SendMessage ¶
type SimpleCronJob ¶
type SimpleCronJob struct {
// Schedule pattern.
// See https://godoc.org/github.com/robfig/cron
// NOTE: It is different from cron, there is also seconds field.
Schedule string
// Job function.
Action CronJobFunc
}
SimpleCronJob is a scheduled task.
func (*SimpleCronJob) JobSchedule ¶
func (j *SimpleCronJob) JobSchedule() string
func (*SimpleCronJob) Run ¶
func (j *SimpleCronJob) Run(bot *Robot) error
type SimpleHandler ¶
type SimpleHandler struct {
Filter *HandlerFilter
Action HandlerFunc
}
func (*SimpleHandler) Acceptable ¶
Click to show internal directories.
Click to hide internal directories.