public AdminMiddleware(IMiddleware next, AdminPlugin adminPlugin, SchedulePlugin schedulePlugin, INoobotCore noobotCore, ILog log) : base(next) { _adminPlugin = adminPlugin; _schedulePlugin = schedulePlugin; _noobotCore = noobotCore; _log = log; HandlerMappings = new[] { new HandlerMapping { ValidHandles = new []{ "admin pin" }, EvaluatorFunc = PinHandler, Description = "This function is used to authenticate a user as admin", VisibleInHelp = false }, new HandlerMapping { ValidHandles = new []{ "admin schedules list" }, EvaluatorFunc = SchedulesListHandler, Description = "[Requires authentication] Will return a list of all schedules.", VisibleInHelp = false }, new HandlerMapping { ValidHandles = new []{ "admin schedules delete" }, EvaluatorFunc = DeleteSchedulesHandler, Description = "[Requires authentication] This will delete all schedules.", VisibleInHelp = false }, new HandlerMapping { ValidHandles = new []{ "admin channels" }, EvaluatorFunc = ChannelsHandler, Description = "[Requires authentication] Will return all channels connected.", VisibleInHelp = false }, new HandlerMapping { ValidHandles = new []{"admin help", "admin list"}, EvaluatorFunc = AdminHelpHandler, Description = "[Requires authentication] Lists all available admin functions", VisibleInHelp = false } }; }
public ScheduleMiddleware(IMiddleware next, SchedulePlugin schedulePlugin, StatsPlugin statsPlugin) : base(next) { _schedulePlugin = schedulePlugin; _statsPlugin = statsPlugin; HandlerMappings = new[] { new HandlerMapping { ValidHandles = new [] { "schedule hourly"}, Description = "Schedule a command to execute every hour on the current channel. Usage: `@{bot} schedule hourly @{bot} tell me a joke`", EvaluatorFunc = HourlyHandler, }, new HandlerMapping { ValidHandles = new [] { "schedule daily"}, Description = "Schedule a command to execute every day on the current channel. Usage: `@{bot} schedule daily @{bot} tell me a joke`", EvaluatorFunc = DayHandler, }, new HandlerMapping { ValidHandles = new [] { "schedule cronjob"}, Description = "Schedule a cron job for this channel. Usage: `@{bot} schedule cronjob '0 15 10 * * ?' @{bot} tell me a joke`", EvaluatorFunc = CronHandler, }, new HandlerMapping { ValidHandles = new [] { "schedule list"}, Description = "List all schedules on the current channel", EvaluatorFunc = ListHandlerForChannel, }, new HandlerMapping { ValidHandles = new [] { "schedule delete"}, Description = "Delete a schedule in this channel. You must enter a valid {guid}", EvaluatorFunc = DeleteHandlerForChannel, }, }; }