Version: v3.1.0 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Feb 5, 2017 License: MIT Imports: 11 Imported by: 0




This section is empty.


This section is empty.


func NewPlugin

func NewPlugin(cron CronContext) plugins.BotMessagePlugin


type ActionType

type ActionType string
const (
	AddAction       ActionType = "add"
	RandomAddAction ActionType = "random"
	DelAction       ActionType = "del"
	DeleteAction    ActionType = "delete"
	StopAction      ActionType = "stop"
	ListAction      ActionType = "list"
	RefreshAction   ActionType = "refresh"
	HelpAction      ActionType = "help"

type CronCommand

type CronCommand struct {
	Trigger  string // cron
	Action   ActionType
	CronSpec string
	Args     []string
	CronID   string

func (CronCommand) CronKey

func (c CronCommand) CronKey() string

func (CronCommand) Message

func (c CronCommand) Message() string

func (*CronCommand) Scan

func (c *CronCommand) Scan(command string) error

Scan cron add */1 * * * * * hogehoge -> cronCommand

func (CronCommand) String

func (c CronCommand) String() string

type CronContext

type CronContext interface {
	AddCronCommand(channel string, c CronCommand) string
	DelCronCommand(channel string, c CronCommand) string
	ListCronCommand(channel string, c CronCommand) string
	HelpCronCommand(channel string, c CronCommand) string
	RefreshCron(messageSender plugins.MessageSender, channel string)
	AllRefreshCron(messageSender plugins.MessageSender)

func NewCronContext

func NewCronContext(repository CronRepository) CronContext

type CronRepository

type CronRepository interface {
	Load() (map[string]CronTaskMap, error)
	Save(cronTaskMap map[string]CronTaskMap) error
	Close() error

func NewOnMemoryCronRepository

func NewOnMemoryCronRepository() CronRepository

func NewRedisRepository

func NewRedisRepository(addr, password string, db int64) CronRepository

type CronTask

type CronTask struct {
	Active  bool
	Command CronCommand

type CronTaskMap

type CronTaskMap map[string]CronTask

func (CronTaskMap) AddTask

func (c CronTaskMap) AddTask(key string, task CronTask)

type OnMemoryCronRepository

type OnMemoryCronRepository struct {
	// contains filtered or unexported fields

func (OnMemoryCronRepository) Close

func (r OnMemoryCronRepository) Close() error

func (OnMemoryCronRepository) Load

func (OnMemoryCronRepository) Save

func (r OnMemoryCronRepository) Save(cronTaskMap map[string]CronTaskMap) error

type RedisRepository

type RedisRepository struct {
	// contains filtered or unexported fields

func (RedisRepository) Close

func (s RedisRepository) Close() error

func (RedisRepository) Load

func (s RedisRepository) Load() (map[string]CronTaskMap, error)

func (RedisRepository) Save

func (s RedisRepository) Save(taskMap map[string]CronTaskMap) error


Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL