diff options
| author | 2019-11-21 15:49:08 +0000 | |
|---|---|---|
| committer | 2019-11-21 15:49:08 +0000 | |
| commit | 2dfc55fb9fa0a6cff1c24895f4c788149c3922a8 (patch) | |
| tree | d0979ab588a9f3f6bb6f2a2b43911a15eda72664 /modules/line_handler | |
| parent | add a way to execute commands through bitbotd (use for master-password) (diff) | |
| signature | ||
refactor permissions and allow hostmasks to be assigned to accounts
Diffstat (limited to 'modules/line_handler')
| -rw-r--r-- | modules/line_handler/__init__.py | 4 | ||||
| -rw-r--r-- | modules/line_handler/channel.py | 3 | ||||
| -rw-r--r-- | modules/line_handler/core.py | 14 | ||||
| -rw-r--r-- | modules/line_handler/user.py | 12 |
4 files changed, 15 insertions, 18 deletions
diff --git a/modules/line_handler/__init__.py b/modules/line_handler/__init__.py index 5001266c..ddea6fdc 100644 --- a/modules/line_handler/__init__.py +++ b/modules/line_handler/__init__.py @@ -218,12 +218,12 @@ class Module(ModuleManager.BaseModule): # response to a WHO command for user information @utils.hook("raw.received.352", default_event=True) def handle_352(self, event): - core.handle_352(event) + core.handle_352(self.events, event) # response to a WHOX command for user information, including account name @utils.hook("raw.received.354", default_event=True) def handle_354(self, event): - core.handle_354(event) + core.handle_354(self.events, event) # response to an empty mode command @utils.hook("raw.received.324") diff --git a/modules/line_handler/channel.py b/modules/line_handler/channel.py index 385bf6b2..91150839 100644 --- a/modules/line_handler/channel.py +++ b/modules/line_handler/channel.py @@ -72,8 +72,7 @@ def join(events, event): hostname=event["line"].source.hostname) if account: - user.identified_account = account - user.identified_account_id = event["server"].get_user(account).get_id() + user.account = account if realname: user.realname = realname diff --git a/modules/line_handler/core.py b/modules/line_handler/core.py index 607c8dd4..d72bf223 100644 --- a/modules/line_handler/core.py +++ b/modules/line_handler/core.py @@ -105,7 +105,7 @@ def invite(events, event): events.on("received.invite").call(user=user, target_channel=target_channel, server=event["server"], target_user=target_user) -def handle_352(event): +def handle_352(events, event): nickname = event["line"].args[5] username = event["line"].args[2] hostname = event["line"].args[3] @@ -117,8 +117,10 @@ def handle_352(event): target = event["server"].get_user(nickname) target.username = username target.hostname = hostname + events.on("received.who").call(server=event["server"], + user=target) -def handle_354(event): +def handle_354(events, event): if event["line"].args[1] == "111": nickname = event["line"].args[4] username = event["line"].args[2] @@ -136,11 +138,11 @@ def handle_354(event): target.hostname = hostname target.realname = realname if not account == "0": - target.identified_account = account - target.identified_account_id = event["server"].get_user(account - ).get_id() + target.account = account else: - target.identified_account = None + target.account = None + events.on("received.whox").call(server=event["server"], + user=target) def _nick_in_use(server): new_nick = "%s|" % server.connection_params.nickname diff --git a/modules/line_handler/user.py b/modules/line_handler/user.py index 20521675..d1592cd7 100644 --- a/modules/line_handler/user.py +++ b/modules/line_handler/user.py @@ -39,6 +39,8 @@ def nick(events, event): new_nickname = event["line"].args.get(0) user = event["server"].get_user(event["line"].source.nickname) old_nickname = user.nickname + user.set_nickname(new_nickname) + event["server"].change_user_nickname(old_nickname, new_nickname) if not event["server"].is_own_nickname(event["line"].source.nickname): events.on("received.nick").call(new_nickname=new_nickname, @@ -48,9 +50,6 @@ def nick(events, event): new_nickname=new_nickname, old_nickname=old_nickname) event["server"].set_own_nickname(new_nickname) - user.set_nickname(new_nickname) - event["server"].change_user_nickname(old_nickname, new_nickname) - def away(events, event): user = event["server"].get_user(event["line"].source.nickname) message = event["line"].args.get(0) @@ -94,13 +93,10 @@ def account(events, event): user = event["server"].get_user(event["line"].source.nickname) if not event["line"].args[0] == "*": - user.identified_account = event["line"].args[0] - user.identified_account_id = event["server"].get_user( - event["line"].args[0]).get_id() + user.account = event["line"].args[0] events.on("received.account.login").call(user=user, server=event["server"], account=event["line"].args[0]) else: - user.identified_account = None - user.identified_account_id = None + user.account = None events.on("received.account.logout").call(user=user, server=event["server"]) |
