diff --git a/sopel_SpiceBot_Core_1/SBCore/__init__.py b/sopel_SpiceBot_Core_1/SBCore/__init__.py index e3e45c8..023eacd 100644 --- a/sopel_SpiceBot_Core_1/SBCore/__init__.py +++ b/sopel_SpiceBot_Core_1/SBCore/__init__.py @@ -1,5 +1,6 @@ from .interface.config import Config +from .interface.scheduler import Scheduler from .interface.versions import Versions from .interface.logger import Logger from .interface.database import Database @@ -18,6 +19,10 @@ class SpiceBotCore_OBJ(): self.logger = Logger() self.logger.info("SpiceBot Logging Interface Setup Complete.") + # Allow SpiceBot to interact with Sopel Scheduler + self.scheduler = Scheduler() + self.logger.info("SpiceBot Scheduler Interface Setup Complete.") + # Allow Spicebot to mimic Sopel Config self.config = Config(script_dir) self.logger.info("SpiceBot Config Interface Setup Complete.") diff --git a/sopel_SpiceBot_Core_1/SBCore/interface/scheduler/__init__.py b/sopel_SpiceBot_Core_1/SBCore/interface/scheduler/__init__.py new file mode 100644 index 0000000..e4cfcd6 --- /dev/null +++ b/sopel_SpiceBot_Core_1/SBCore/interface/scheduler/__init__.py @@ -0,0 +1,17 @@ + +from sopel.tools import jobs + + +class Scheduler(): + + def __init__(self): + self.scheduler = jobs.Scheduler(self) + self.scheduler.start() + + def __getattr__(self, name): + """ + Quick and dirty shortcuts. Will only get called for undefined attributes. + """ + + if hasattr(self.scheduler, name): + return eval("self.scheduler.%s" % name)