diff options
Diffstat (limited to 'modules/line_handler')
| -rw-r--r-- | modules/line_handler/__init__.py | 4 | ||||
| -rw-r--r-- | modules/line_handler/channel.py | 7 | ||||
| -rw-r--r-- | modules/line_handler/core.py | 7 |
3 files changed, 11 insertions, 7 deletions
diff --git a/modules/line_handler/__init__.py b/modules/line_handler/__init__.py index fed529e9..2b9891af 100644 --- a/modules/line_handler/__init__.py +++ b/modules/line_handler/__init__.py @@ -226,9 +226,9 @@ class Module(ModuleManager.BaseModule): core.handle_354(event) # response to an empty mode command - @utils.hook("raw.received.324", default_event=True) + @utils.hook("raw.received.324") def handle_324(self, event): - channel.handle_324(event) + channel.handle_324(self.events, event) # channel creation unix timestamp @utils.hook("raw.received.329", default_event=True) diff --git a/modules/line_handler/channel.py b/modules/line_handler/channel.py index 7dfea4ca..77091206 100644 --- a/modules/line_handler/channel.py +++ b/modules/line_handler/channel.py @@ -117,12 +117,15 @@ def part(events, event): events.on("self.part").call(channel=channel, reason=reason, server=event["server"]) -def handle_324(event): +def handle_324(events, event): if event["line"].args[1] in event["server"].channels: channel = event["server"].channels.get(event["line"].args[1]) modes = event["line"].args[2] args = event["line"].args[3:] - channel.parse_modes(modes, args[:]) + new_modes = channel.parse_modes(modes, args[:]) + events.on("received.324").call(modes=new_modes, + channel=channel, server=event["server"], mode_str=modes, + args_str=args) def handle_329(event): channel = event["server"].channels.get(event["line"].args[1]) diff --git a/modules/line_handler/core.py b/modules/line_handler/core.py index 8957f958..3207a1a9 100644 --- a/modules/line_handler/core.py +++ b/modules/line_handler/core.py @@ -83,10 +83,11 @@ def mode(events, event): modes = event["line"].args[1] args = event["line"].args[2:] - channel.parse_modes(modes, args[:]) + new_modes = channel.parse_modes(modes, args[:]) - events.on("received.mode.channel").call(modes=modes, mode_args=args, - channel=channel, server=event["server"], user=user) + events.on("received.mode.channel").call(modes=new_modes, + channel=channel, server=event["server"], user=user, modes_str=modes, + args_str=args) elif event["server"].is_own_nickname(target): modes = event["line"].args[1] _own_modes(event["server"], modes) |
