24 lines
865 B
Python
24 lines
865 B
Python
|
from src import EventManager, ModuleManager, utils
|
||
|
|
||
|
class Module(ModuleManager.BaseModule):
|
||
|
@utils.hook("new.user")
|
||
|
@utils.hook("new.channel")
|
||
|
def new(self, event):
|
||
|
obj = event.get("user", event.get("channel", None))
|
||
|
obj._last_stdout = None
|
||
|
obj._last_stderr = None
|
||
|
|
||
|
@utils.hook("postprocess.command")
|
||
|
@utils.kwarg("priority", EventManager.PRIORITY_MONITOR)
|
||
|
def postprocess(self, event):
|
||
|
if event["stdout"].has_text():
|
||
|
event["target"]._last_stdout = event["stdout"]
|
||
|
if event["stderr"].has_text():
|
||
|
event["target"]._last_stderr = event["stderr"]
|
||
|
|
||
|
@utils.hook("received.command.more")
|
||
|
def more(self, event):
|
||
|
last_stdout = event["target"]._last_stdout
|
||
|
if last_stdout and last_stdout.has_text():
|
||
|
event["stdout"].write_lines(last_stdout.get_all())
|