Treat our own user as a regular user throughout line_handler
This commit is contained in:
parent
79930be7a3
commit
9e98754188
3 changed files with 79 additions and 66 deletions
|
@ -64,51 +64,51 @@ def join(events, event):
|
|||
account = event["args"][1]
|
||||
realname = event["args"][2]
|
||||
|
||||
if not event["server"].is_own_nickname(event["prefix"].nickname):
|
||||
channel = event["server"].channels.get(channel_name)
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
if not user.username and not user.hostname:
|
||||
user.username = event["prefix"].username
|
||||
user.hostname = event["prefix"].hostname
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
|
||||
if account:
|
||||
user.identified_account = account
|
||||
user.identified_account_id = event["server"].get_user(
|
||||
account).get_id()
|
||||
if realname:
|
||||
user.realname = realname
|
||||
|
||||
channel.add_user(user)
|
||||
user.join_channel(channel)
|
||||
events.on("received.join").call(channel=channel, user=user,
|
||||
server=event["server"], account=account, realname=realname)
|
||||
else:
|
||||
if event["server"].is_own_nickname(event["prefix"].nickname):
|
||||
channel = event["server"].channels.add(channel_name)
|
||||
if channel.name in event["server"].attempted_join:
|
||||
del event["server"].attempted_join[channel.name]
|
||||
events.on("self.join").call(channel=channel, server=event["server"],
|
||||
account=account, realname=realname)
|
||||
channel.send_mode()
|
||||
else:
|
||||
channel = event["server"].channels.get(channel_name)
|
||||
events.on("received.join").call(channel=channel, user=user,
|
||||
server=event["server"], account=account, realname=realname)
|
||||
|
||||
if not user.username and not user.hostname:
|
||||
user.username = event["prefix"].username
|
||||
user.hostname = event["prefix"].hostname
|
||||
|
||||
if account:
|
||||
user.identified_account = account
|
||||
user.identified_account_id = event["server"].get_user(account).get_id()
|
||||
if realname:
|
||||
user.realname = realname
|
||||
|
||||
channel.add_user(user)
|
||||
user.join_channel(channel)
|
||||
|
||||
def part(events, event):
|
||||
channel = event["server"].channels.get(event["args"][0])
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
reason = event["args"].get(1)
|
||||
|
||||
if not event["server"].is_own_nickname(event["prefix"].nickname):
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
|
||||
events.on("received.part").call(channel=channel, reason=reason,
|
||||
user=user, server=event["server"])
|
||||
|
||||
channel.remove_user(user)
|
||||
user.part_channel(channel)
|
||||
if not len(user.channels):
|
||||
event["server"].remove_user(user)
|
||||
else:
|
||||
events.on("self.part").call(channel=channel, reason=reason,
|
||||
server=event["server"])
|
||||
event["server"].channels.remove(channel)
|
||||
|
||||
channel.remove_user(user)
|
||||
user.part_channel(channel)
|
||||
if not len(user.channels):
|
||||
event["server"].remove_user(user)
|
||||
|
||||
def handle_324(event):
|
||||
channel = event["server"].channels.get(event["args"][1])
|
||||
modes = event["args"][2]
|
||||
|
@ -132,21 +132,21 @@ def kick(events, event):
|
|||
target = event["args"][1]
|
||||
channel = event["server"].channels.get(event["args"][0])
|
||||
reason = event["args"].get(2)
|
||||
target_user = event["server"].get_user(target)
|
||||
|
||||
if not event["server"].is_own_nickname(target):
|
||||
target_user = event["server"].get_user(target)
|
||||
events.on("received.kick").call(channel=channel, reason=reason,
|
||||
target_user=target_user, user=user, server=event["server"])
|
||||
|
||||
channel.remove_user(target_user)
|
||||
target_user.part_channel(channel)
|
||||
if not len(target_user.channels):
|
||||
event["server"].remove_user(target_user)
|
||||
else:
|
||||
event["server"].channels.remove(channel)
|
||||
events.on("self.kick").call(channel=channel, reason=reason, user=user,
|
||||
server=event["server"])
|
||||
|
||||
channel.remove_user(target_user)
|
||||
target_user.part_channel(channel)
|
||||
if not len(target_user.channels):
|
||||
event["server"].remove_user(target_user)
|
||||
|
||||
def rename(events, event):
|
||||
old_name = event["args"][0]
|
||||
new_name = event["args"][1]
|
||||
|
|
|
@ -101,31 +101,38 @@ def invite(events, event):
|
|||
|
||||
def handle_352(event):
|
||||
nickname = event["args"][5]
|
||||
if not event["server"].is_own_nickname(nickname):
|
||||
target = event["server"].get_user(nickname)
|
||||
else:
|
||||
target = event["server"]
|
||||
target.username = event["args"][2]
|
||||
target.hostname = event["args"][3]
|
||||
username = event["args"][2]
|
||||
hostname = event["args"][3]
|
||||
|
||||
if event["server"].is_own_nickname(nickname):
|
||||
event["server"].username = username
|
||||
event["server"].hostname = hostname
|
||||
|
||||
target = event["server"].get_user(nickname)
|
||||
target.username = username
|
||||
target.hostname = hostname
|
||||
|
||||
def handle_354(event):
|
||||
if event["args"][1] == "111":
|
||||
nickname = event["args"][4]
|
||||
username = event["args"][2]
|
||||
hostname = event["args"][3]
|
||||
realname = event["args"][6]
|
||||
account = event["args"][5]
|
||||
|
||||
if not event["server"].is_own_nickname(nickname):
|
||||
target = event["server"].get_user(nickname)
|
||||
if event["server"].is_own_nickname(nickname):
|
||||
event["server"].username = username
|
||||
event["server"].hostname = hostname
|
||||
event["server"].realname = realname
|
||||
|
||||
account = event["args"][5]
|
||||
if not account == "0":
|
||||
target.identified_account = account
|
||||
else:
|
||||
target.identified_account = None
|
||||
target = event["server"].get_user(nickname)
|
||||
target.username = username
|
||||
target.hostname = hostname
|
||||
target.realname = realname
|
||||
if not account == "0":
|
||||
target.identified_account = account
|
||||
else:
|
||||
target = event["server"]
|
||||
|
||||
target.username = event["args"][2]
|
||||
target.hostname = event["args"][3]
|
||||
target.realname = event["args"][6]
|
||||
target.identified_account = None
|
||||
|
||||
def handle_433(event):
|
||||
new_nick = "%s|" % event["server"].connection_params.nickname
|
||||
|
|
|
@ -2,13 +2,19 @@ from src import utils
|
|||
|
||||
def handle_311(event):
|
||||
nickname = event["args"][1]
|
||||
username = event["args"][2]
|
||||
hostname = event["args"][3]
|
||||
realname = event["args"][4]
|
||||
|
||||
if event["server"].is_own_nickname(nickname):
|
||||
target = event["server"]
|
||||
else:
|
||||
target = event["server"].get_user(nickname)
|
||||
target.username = event["args"][2]
|
||||
target.hostname = event["args"][3]
|
||||
target.realname = event["args"][4]
|
||||
event["server"].username = username
|
||||
event["server"].hostname = hostname
|
||||
event["server"].realname = realname
|
||||
|
||||
target = event["server"].get_user(nickname)
|
||||
target.username = username
|
||||
target.hostname = hostname
|
||||
target.realname = realname
|
||||
|
||||
def quit(events, event):
|
||||
nickname = None
|
||||
|
@ -31,21 +37,20 @@ def quit(events, event):
|
|||
|
||||
def nick(events, event):
|
||||
new_nickname = event["args"].get(0)
|
||||
if not event["server"].is_own_nickname(event["prefix"].nickname):
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
old_nickname = user.nickname
|
||||
user.set_nickname(new_nickname)
|
||||
event["server"].change_user_nickname(old_nickname, new_nickname)
|
||||
user = event["server"].get_user(event["prefix"].nickname)
|
||||
old_nickname = user.nickname
|
||||
|
||||
if not event["server"].is_own_nickname(event["prefix"].nickname):
|
||||
events.on("received.nick").call(new_nickname=new_nickname,
|
||||
old_nickname=old_nickname, user=user, server=event["server"])
|
||||
else:
|
||||
old_nickname = event["server"].nickname
|
||||
event["server"].set_own_nickname(new_nickname)
|
||||
|
||||
events.on("self.nick").call(server=event["server"],
|
||||
new_nickname=new_nickname, old_nickname=old_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["prefix"].nickname)
|
||||
message = event["args"].get(0)
|
||||
|
@ -64,10 +69,11 @@ def chghost(event):
|
|||
username = event["args"][0]
|
||||
hostname = event["args"][1]
|
||||
|
||||
if not event["server"].is_own_nickname(nickname):
|
||||
target = event["server"].get_user(nickname)
|
||||
else:
|
||||
target = event["server"]
|
||||
if event["server"].is_own_nickname(nickname):
|
||||
event["server"].username = username
|
||||
event["server"].hostname = hostname
|
||||
|
||||
target = event["server"].get_user(nickname)
|
||||
target.username = username
|
||||
target.hostname = hostname
|
||||
|
||||
|
|
Loading…
Reference in a new issue