Archived
1
0
Fork 0
This repository has been archived on 2024-04-26. You can view files and clone it, but cannot push or open issues or pull requests.
akari-bot/core/elements/module/__init__.py

72 lines
2.5 KiB
Python
Raw Normal View History

from typing import Callable
2021-08-30 18:53:39 +00:00
from apscheduler.triggers.combining import AndTrigger, OrTrigger
from apscheduler.triggers.interval import IntervalTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.date import DateTrigger
2021-07-06 18:00:26 +00:00
2021-08-30 18:53:39 +00:00
class Command:
2021-07-07 16:00:24 +00:00
def __init__(self,
function: Callable,
bind_prefix: str,
2021-08-30 18:53:39 +00:00
alias: [str, list, tuple] = None,
help_doc: [str, list, tuple] = None,
desc: str = None,
need_self_process: bool = False,
need_admin: bool = False,
is_base_function: bool = False,
need_superuser: bool = False,
is_regex_function: bool = False,
autorun: bool = False):
2021-07-06 18:00:26 +00:00
self.function = function
2021-07-07 16:00:24 +00:00
self.bind_prefix = bind_prefix
self.alias = alias
self.help_doc = help_doc
2021-07-27 16:03:48 +00:00
self.desc = desc
2021-07-07 16:00:24 +00:00
self.need_self_process = need_self_process
2021-07-27 14:31:45 +00:00
self.need_admin = need_admin
2021-07-07 16:00:24 +00:00
self.is_base_function = is_base_function
2021-07-27 14:31:45 +00:00
self.need_superuser = need_superuser
2021-07-26 14:33:49 +00:00
self.is_regex_function = is_regex_function
2021-07-13 15:48:43 +00:00
self.autorun = autorun
2021-07-27 14:31:45 +00:00
class Option:
2021-08-30 18:53:39 +00:00
def __init__(self,
bind_prefix: str,
desc: str = None,
help_doc: [str, list, tuple] = None,
alias: [str, list, tuple] = None,
need_superuser: bool = False,
need_admin: bool = False):
2021-07-27 14:31:45 +00:00
self.bind_prefix = bind_prefix
self.help_doc = help_doc
2021-07-27 16:03:48 +00:00
self.desc = desc
2021-07-27 14:31:45 +00:00
self.alias = alias
self.need_superuser = need_superuser
self.need_admin = need_admin
2021-08-23 12:44:31 +00:00
2021-08-30 18:53:39 +00:00
class Schedule:
def __init__(self,
function: Callable,
trigger: [AndTrigger, OrTrigger, DateTrigger, CronTrigger, IntervalTrigger],
bind_prefix: str,
desc: str = None,
help_doc: [str, list, tuple] = None,
alias: [str, list, tuple] = None,
need_superuser: bool = False,
need_admin: bool = False
):
self.function = function
self.trigger = trigger
self.bind_prefix = bind_prefix
self.desc = desc
self.help_doc = help_doc
self.alias = alias
self.need_superuser = need_superuser
self.need_admin = need_admin
__all__ = ["Command", "Option", "Schedule", "AndTrigger", "OrTrigger", "DateTrigger", "CronTrigger", "IntervalTrigger"]