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
2021-10-17 01:01:41 +08:00

123 lines
4.4 KiB
Python

from typing import Callable, Union
import re
from apscheduler.triggers.combining import AndTrigger, OrTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.date import DateTrigger
from apscheduler.triggers.interval import IntervalTrigger
class Command:
def __init__(self,
function: Callable,
bind_prefix: str,
alias: Union[str, list, tuple, dict] = None,
help_doc: Union[str, list, tuple] = None,
allowed_none: bool = True,
desc: str = None,
recommend_modules: Union[str, list, tuple] = None,
developers: Union[str, list, tuple] = None,
need_admin: bool = False,
is_base_function: bool = False,
need_superuser: bool = False):
self.function = function
self.bind_prefix = bind_prefix
self.alias = alias
self.help_doc = help_doc
self.allowed_none = allowed_none
self.desc = desc
self.recommend_modules = recommend_modules
self.developers = developers
self.need_admin = need_admin
self.is_base_function = is_base_function
self.need_superuser = need_superuser
class RegexCommand:
def __init__(self,
function: Callable,
bind_prefix: str,
pattern: str,
mode: str,
flags: re.RegexFlag = 0,
alias: Union[str, list, tuple, dict] = None,
desc: str = None,
recommend_modules: Union[str, list, tuple] = None,
developers: Union[str, list, tuple] = None,
need_admin: bool = False,
is_base_function: bool = False,
need_superuser: bool = False):
self.function = function
self.bind_prefix = bind_prefix
self.pattern = pattern
self.flags = flags
self.mode = mode
self.alias = alias
self.desc = desc
self.recommend_modules = recommend_modules
self.developers = developers
self.need_admin = need_admin
self.is_base_function = is_base_function
self.need_superuser = need_superuser
class Option:
def __init__(self,
bind_prefix: str,
desc: str = None,
alias: Union[str, list, tuple, dict] = None,
recommend_modules: Union[str, list, tuple] = None,
developers: Union[str, list, tuple] = None,
need_superuser: bool = False,
need_admin: bool = False):
self.bind_prefix = bind_prefix
self.desc = desc
self.alias = alias
self.recommend_modules = recommend_modules
self.developers = developers
self.need_superuser = need_superuser
self.need_admin = need_admin
class Schedule:
def __init__(self,
function: Callable,
trigger: [AndTrigger, OrTrigger, DateTrigger, CronTrigger, IntervalTrigger],
bind_prefix: str,
desc: str = None,
alias: Union[str, list, tuple, dict] = None,
recommend_modules: Union[str, list, tuple] = None,
developers: Union[str, list, tuple] = None,
need_superuser: bool = False,
):
self.function = function
self.trigger = trigger
self.bind_prefix = bind_prefix
self.desc = desc
self.alias = alias
self.recommend_modules = recommend_modules
self.developers = developers
self.need_superuser = need_superuser
class StartUp:
def __init__(self,
function: Callable,
bind_prefix: str,
desc: str = None,
alias: Union[str, list, tuple, dict] = None,
recommend_modules: Union[str, list, tuple] = None,
developers: Union[str, list, tuple] = None,
need_superuser: bool = False,
):
self.function = function
self.bind_prefix = bind_prefix
self.desc = desc
self.alias = alias
self.recommend_modules = recommend_modules
self.developers = developers
self.need_superuser = need_superuser
__all__ = ["Command", "RegexCommand", "Option", "Schedule", "StartUp", "AndTrigger", "OrTrigger", "DateTrigger",
"CronTrigger", "IntervalTrigger"]