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

124 lines
4.4 KiB
Python
Raw Normal View History

2021-09-10 18:05:27 +00:00
from typing import Callable, Union
import re
2021-09-10 18:05:27 +00:00
2021-08-30 18:53:39 +00:00
from apscheduler.triggers.combining import AndTrigger, OrTrigger
from apscheduler.triggers.cron import CronTrigger
from apscheduler.triggers.date import DateTrigger
2021-09-10 18:05:27 +00:00
from apscheduler.triggers.interval import IntervalTrigger
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-09-10 18:05:27 +00:00
alias: Union[str, list, tuple, dict] = None,
help_doc: Union[str, list, tuple] = None,
allowed_none: bool = True,
2021-08-30 18:53:39 +00:00
desc: str = None,
2021-09-10 18:05:27 +00:00
recommend_modules: Union[str, list, tuple] = None,
2021-09-19 12:52:42 +00:00
developers: Union[str, list, tuple] = None,
2021-08-30 18:53:39 +00:00
need_admin: bool = False,
is_base_function: bool = False,
2021-10-16 17:01:41 +00:00
need_superuser: 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-09-10 18:05:27 +00:00
self.allowed_none = allowed_none
2021-07-27 16:03:48 +00:00
self.desc = desc
2021-09-10 18:05:27 +00:00
self.recommend_modules = recommend_modules
2021-09-19 12:52:42 +00:00
self.developers = developers
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
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
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,
2021-09-10 18:05:27 +00:00
alias: Union[str, list, tuple, dict] = None,
recommend_modules: Union[str, list, tuple] = None,
2021-09-19 12:52:42 +00:00
developers: Union[str, list, tuple] = None,
2021-08-30 18:53:39 +00:00
need_superuser: bool = False,
need_admin: bool = False):
2021-07-27 14:31:45 +00:00
self.bind_prefix = bind_prefix
2021-07-27 16:03:48 +00:00
self.desc = desc
2021-07-27 14:31:45 +00:00
self.alias = alias
2021-09-10 18:05:27 +00:00
self.recommend_modules = recommend_modules
2021-09-19 12:52:42 +00:00
self.developers = developers
2021-07-27 14:31:45 +00:00
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,
2021-09-10 18:05:27 +00:00
alias: Union[str, list, tuple, dict] = None,
recommend_modules: Union[str, list, tuple] = None,
2021-09-19 12:52:42 +00:00
developers: Union[str, list, tuple] = None,
2021-08-30 18:53:39 +00:00
need_superuser: bool = False,
):
self.function = function
self.trigger = trigger
self.bind_prefix = bind_prefix
self.desc = desc
self.alias = alias
2021-09-10 18:05:27 +00:00
self.recommend_modules = recommend_modules
2021-09-19 12:52:42 +00:00
self.developers = developers
2021-08-30 18:53:39 +00:00
self.need_superuser = need_superuser
2021-10-14 14:49:12 +00:00
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"]