2
0
mirror of https://github.com/Nick80835/microbot synced 2025-08-22 18:19:16 +00:00
microbot/ubot/command.py

75 lines
2.8 KiB
Python
Raw Normal View History

from types import FunctionType
class Command:
def __init__(self, func: FunctionType, args: dict):
self.module = func.__module__.split(".")[-1]
self.function = func
2020-09-18 20:24:22 -04:00
self.data = {}
2023-10-21 19:58:41 -04:00
self.uses = 0
self.pattern = args.get("pattern")
self.simple_pattern = args.get("simple_pattern", False)
self.raw_pattern = args.get("raw_pattern", False)
self.pattern_extra = args.get("pattern_extra", "")
self.extra = args.get("extra", None)
2021-06-22 09:04:16 -04:00
self.help = args.get("help", None) or func.__doc__
self.hide_help = args.get("hide_help", False)
2023-10-16 18:13:41 -04:00
self.moderation = args.get("moderation", False)
2023-10-21 20:57:02 -04:00
self.mod_cooldown_chats = []
self.owner = args.get("owner", False)
self.sudo = args.get("sudo", False)
2023-10-16 22:11:52 -04:00
self.admin = args.get("admin", False)
self.nsfw = args.get("nsfw", False)
2021-02-11 10:47:08 -05:00
self.nsfw_warning = args.get("nsfw_warning", None)
self.pass_nsfw = args.get("pass_nsfw", False)
self.locking = args.get("locking", False)
self.lock_reason = None
self.user_locking = args.get("userlocking", False)
self.locked_users = []
self.chance = args.get("chance", None)
self.fun = args.get("fun", False)
self.not_disableable = args.get("no_disable", False) or self.owner or self.sudo or self.admin
2021-03-23 20:01:27 -04:00
self.no_private = args.get("no_private", False)
2021-06-22 08:49:37 -04:00
self.silent_bail = args.get("silent_bail", False)
self.filter = args.get("filter", None)
class InlinePhotoCommand:
def __init__(self, func: FunctionType, args: dict):
self.module = func.__module__.split(".")[-1]
self.function = func
self.pattern = args.get("pattern")
self.pattern_extra = args.get("pattern_extra", "")
self.default = args.get("default", None)
2020-10-03 17:31:15 -04:00
self.extra = args.get("extra", None)
2020-12-08 21:04:48 -05:00
self.parse_mode = args.get("parse_mode", "md")
class InlineArticleCommand:
def __init__(self, func: FunctionType, args: dict):
self.module = func.__module__.split(".")[-1]
self.function = func
self.pattern = args.get("pattern")
self.pattern_extra = args.get("pattern_extra", "")
self.default = args.get("default", None)
2020-10-03 17:31:15 -04:00
self.extra = args.get("extra", None)
self.link_preview = args.get("link_preview", True)
2020-12-08 21:04:48 -05:00
self.parse_mode = args.get("parse_mode", "md")
class CallbackQueryCommand:
def __init__(self, func: FunctionType, args: dict):
self.module = func.__module__.split(".")[-1]
self.function = func
2020-09-18 20:28:07 -04:00
self.data = {}
self.data_id = args.get("data_id")
self.extra = args.get("extra", None)
self.owner = args.get("owner", False)
self.sudo = args.get("sudo", False)
self.admin = args.get("admin", False)
self.silent_bail = args.get("silent_bail", False)