|
@@ -4,15 +4,8 @@ import time
|
|
|
from command_system import RollbotResponse, RollbotFailure, as_plugin
|
|
|
|
|
|
|
|
|
-def lift_response(call, response):
|
|
|
- @as_plugin(call)
|
|
|
- def response_func(db, msg):
|
|
|
- return RollbotResponse(msg, txt=response)
|
|
|
- return response_func
|
|
|
-
|
|
|
-
|
|
|
class Rollbot:
|
|
|
- def __init__(self, logger=logging.getLogger(__name__), plugin_classes={}, aliases={}, responses={}, lookup={}, sleep_time=0.0, session_factory=None, callback=None):
|
|
|
+ def __init__(self, logger=logging.getLogger(__name__), plugin_classes={}, aliases={}, lookup={}, sleep_time=0.0, session_factory=None, callback=None):
|
|
|
self.logger = logger
|
|
|
self.session_factory = session_factory or (lambda: None)
|
|
|
self.callback = callback or (lambda txt, gid: self.logger.info(f"Responding to {gid} with {txt}"))
|
|
@@ -33,14 +26,6 @@ class Rollbot:
|
|
|
self.to_stop.add(plugin_instance)
|
|
|
self.logger.info(f"Finished loading plugins, {len(self.commands)} commands found")
|
|
|
|
|
|
- self.logger.info("Loading simple responses")
|
|
|
- for cmd, response in responses.items():
|
|
|
- if cmd in self.commands:
|
|
|
- self.logger.error(f"Duplicate command word '{cmd}'")
|
|
|
- raise ValueError(f"Duplicate command word '{cmd}'")
|
|
|
- self.commands[cmd] = lift_response(cmd, response)(logger=logger)
|
|
|
- self.logger.info(f"Finished loading simple responses, {len(self.commands)} total commands available")
|
|
|
-
|
|
|
self.logger.info("Loading aliases")
|
|
|
for alias, cmd in aliases.items():
|
|
|
if cmd not in self.commands:
|