aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2018-11-21 20:02:36 +0000
committerGravatar jesopo2018-11-21 20:04:07 +0000
commit2852afd5f75a9553c9448ebbc53f998da49474fc (patch)
treec42c9f410ffb8f89babd3d251cfc7660a091161d
parentMove all logic related to score reasons until after we've checked if we have (diff)
signature
Add IRCServer.Server.get_target, to get an IRCChannel if the given target is a
channel name or an IRCUser
-rw-r--r--src/IRCServer.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py
index 7ca9c293..b602575b 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -194,6 +194,15 @@ class Server(IRCObject.Object):
for channel in user.channels:
channel.remove_user(user)
+ def get_target(self, name: str
+ ) -> typing.Union[IRCChannel.Channel, IRCUser.User]:
+ if name[0] in self.channel_types:
+ if name in self.channels:
+ return self.channels.get(name)
+ else:
+ return self.get_user(name)
+ return None
+
def change_user_nickname(self, old_nickname: str, new_nickname: str):
user = self.users.pop(utils.irc.lower(self.case_mapping, old_nickname))
user._id = self.get_user_id(new_nickname)