manager

package
v1.4.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2023 License: AGPL-3.0 Imports: 12 Imported by: 0

README

介绍

🔔 注意:以下[]符号内代表此处是需要填写内容,并且不需要[]符号

  • 插件名:manager
  • 插件描述:管理群组/私聊
  • 权限:仅限配置的管理员使用,不区分私聊和群聊中使用
  • 指令:
    • 菜单
    • menu,和上面的指令一样
    • 设置菜单模式[1|2],默认为模式1文本输出,模式2为网页输出(需要配置公网地址)
    • 设置每月[]号[]的提醒,例如:设置每月8号10:00:00的提醒
    • 设置每周[][]的提醒,例如:设置每周三10:00:00的提醒
    • 设置每天[]的提醒,例如:设置每天10:00:00的提醒
    • 设置每隔[]的提醒,例如:设置每隔1小时的提醒
    • 设置[]的提醒,例如:设置2023-01-01 15:00:00的提醒
    • 设置表达式[]的提醒,例如:设置表达式(*/10 * * * * *)的提醒
    • 设置每天[]执行插件,例如:设置每天08:00:00执行插件
    • 列出所有任务
    • 删除任务 [任务ID]
    • 删除全部任务
    • 删除全部提醒任务

具体设置时间的正则如下:

const (
	RegexOfRemindEveryMonth  = `^设置每月(0?[1-9]|[12][0-9]|3[01])号(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindEveryWeek   = `^设置每周(一|二|三|四|五|六|七|日)(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindEveryDay    = `^设置每天(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindInterval    = `^设置每隔(\d+)(s|秒|m|分|分钟|h|时|d|小时)的提醒$`
	RegexOfRemindSpecifyTime = `^设置((20[2-9][0-9]|2100)-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindExpression  = `^设置表达式\((((\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?)\s+(\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?\s+(\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?\s+(\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?\s+(\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?\s+(\*(/\d+)?|((\d+(-\d+)?)(,\d+(-\d+)?)*))(/\d+)?)\)的提醒$`
	RegexOfPluginEveryDay    = `^设置每天(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])执行插件$`
)

Documentation

Index

Constants

View Source
const (
	JobTypeRemind = "remind" // 提醒类任务
	JobTypeFunc   = "func"   // 函数类任务
	JobTypePlugin = "plugin" // 插件类任务

	RegexOfRemindEveryMonth  = `^设置每月(0?[1-9]|[12][0-9]|3[01])号(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindEveryWeek   = `^设置每周(一|二|三|四|五|六|七|日)(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindEveryDay    = `^设置每天(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindInterval    = `^设置每隔(\d+)(s|秒|m|分|分钟|h|时|d|小时)的提醒$`
	RegexOfRemindSpecifyTime = `^设置((20[2-9][0-9]|2100)-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])\s([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])的提醒$`
	RegexOfRemindExpression  = `` /* 331-byte string literal not displayed */
	RegexOfPluginEveryDay    = `^设置每天(([01]?[0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9])执行插件$`
)

Variables

This section is empty.

Functions

func AddPluginOfEveryDay

func AddPluginOfEveryDay(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddPluginOfEveryDay 添加每天执行的插件

func AddRemindForExpression

func AddRemindForExpression(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindForExpression 添加表达式提醒

func AddRemindForInterval

func AddRemindForInterval(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindForInterval 添加间隔提醒

func AddRemindForSpecifyTime

func AddRemindForSpecifyTime(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindForSpecifyTime 添加指定时间提醒

func AddRemindOfEveryDay

func AddRemindOfEveryDay(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindOfEveryDay 添加每天提醒

func AddRemindOfEveryMonth

func AddRemindOfEveryMonth(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindOfEveryMonth 添加每月提醒

func AddRemindOfEveryWeek

func AddRemindOfEveryWeek(ctx *robot.Ctx, jobTag string, matched []string, f func()) (*gocron.Job, error)

AddRemindOfEveryWeek 添加每周提醒

Types

type Command added in v1.0.3

type Command struct {
	MenuMode string `gorm:"column:menu_mode;default:'1'"` // 菜单模式,默认模式一
}

type CronJob

type CronJob struct {
	Id      int64  `gorm:"primary_key"`
	Tag     string `gorm:"column:tag"`
	Type    string `gorm:"column:type"`
	Desc    string `gorm:"column:desc"`
	GroupId string `gorm:"column:group_id"`
	Remind  string `gorm:"column:remind"`
	Service string `gorm:"column:service"`
}
type MenuOptions struct {
	WxId  string `json:"wxId"`
	Menus []struct {
		Name      string `json:"name"`
		Alias     string `json:"alias"`
		Priority  uint64 `json:"priority"`
		Describe  string `json:"describe"`
		DefStatus bool   `json:"defStatus"`
		CurStatus bool   `json:"curStatus"`
	} `json:"menus"`
}

MenuOptions 菜单配置

Jump to

Keyboard shortcuts

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