aboutsummaryrefslogtreecommitdiff
path: root/modules/line_handler/channel.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-06-22 12:17:45 +0100
committerGravatar jesopo2019-06-22 12:17:45 +0100
commit7174e83f149ba402e37fed00f23efd2f61f2e063 (patch)
tree6c827df39131982ac63742b105f7fa329417cb46 /modules/line_handler/channel.py
parentCache ParsedLine IDs of relay messages so we can ignore them (avoid loop) (diff)
signature
Change raw.send and raw.receive commands to just pass around ParsedLines
Diffstat (limited to 'modules/line_handler/channel.py')
-rw-r--r--modules/line_handler/channel.py77
1 files changed, 39 insertions, 38 deletions
diff --git a/modules/line_handler/channel.py b/modules/line_handler/channel.py
index 716877b6..15720ac7 100644
--- a/modules/line_handler/channel.py
+++ b/modules/line_handler/channel.py
@@ -1,25 +1,25 @@
from src import utils
def handle_332(events, event):
- channel = event["server"].channels.get(event["args"][1])
- topic = event["args"].get(2)
+ channel = event["server"].channels.get(event["line"].args[1])
+ topic = event["line"].args.get(2)
channel.set_topic(topic)
events.on("received.332").call(channel=channel, server=event["server"],
topic=topic)
def topic(events, event):
- user = event["server"].get_user(event["source"].nickname)
- channel = event["server"].channels.get(event["args"][0])
- topic = event["args"].get(1)
+ user = event["server"].get_user(event["line"].source.nickname)
+ channel = event["server"].channels.get(event["line"].args[0])
+ topic = event["line"].args.get(1)
channel.set_topic(topic)
events.on("received.topic").call(channel=channel, server=event["server"],
topic=topic, user=user)
def handle_333(events, event):
- channel = event["server"].channels.get(event["args"][1])
+ channel = event["server"].channels.get(event["line"].args[1])
- topic_setter = utils.irc.seperate_hostmask(event["args"][2])
- topic_time = int(event["args"][3]) if event["args"][3].isdigit() else None
+ topic_setter = utils.irc.seperate_hostmask(event["line"].args[2])
+ topic_time = int(event["line"].args[3])
channel.set_topic_setter(topic_setter.nickname, topic_setter.username,
topic_setter.hostname)
@@ -28,8 +28,8 @@ def handle_333(events, event):
setter=topic_setter.nickname, set_at=topic_time, server=event["server"])
def handle_353(event):
- channel = event["server"].channels.get(event["args"][2])
- nicknames = event["args"].get(3).split(" ")
+ channel = event["server"].channels.get(event["line"].args[2])
+ nicknames = event["line"].args.get(3).split(" ")
# there can sometimes be a dangling space at the end of a 353
if nicknames and not nicknames[-1]:
@@ -57,29 +57,29 @@ def handle_353(event):
channel.add_mode(mode, nickname)
def handle_366(event):
- event["server"].send_whox(event["args"][1], "n", "ahnrtu", "111")
+ event["server"].send_whox(event["line"].args[1], "n", "ahnrtu", "111")
def join(events, event):
account = None
realname = None
- channel_name = event["args"][0]
+ channel_name = event["line"].args[0]
- if len(event["args"]) == 3:
- if not event["args"][1] == "*":
- account = event["args"][1]
- realname = event["args"][2]
+ if len(event["line"].args) == 3:
+ if not event["line"].args[1] == "*":
+ account = event["line"].args[1]
+ realname = event["line"].args[2]
- user = event["server"].get_user(event["source"].nickname)
+ user = event["server"].get_user(event["line"].source.nickname)
- user.username = event["source"].username
- user.hostname = event["source"].hostname
+ user.username = event["line"].source.username
+ user.hostname = event["line"].source.hostname
if account:
user.identified_account = account
user.identified_account_id = event["server"].get_user(account).get_id()
if realname:
user.realname = realname
- is_self = event["server"].is_own_nickname(event["source"].nickname)
+ is_self = event["server"].is_own_nickname(event["line"].source.nickname)
if is_self:
channel = event["server"].channels.add(channel_name)
else:
@@ -100,16 +100,16 @@ def join(events, event):
server=event["server"], account=account, realname=realname)
def part(events, event):
- channel = event["server"].channels.get(event["args"][0])
- user = event["server"].get_user(event["source"].nickname)
- reason = event["args"].get(1)
+ channel = event["server"].channels.get(event["line"].args[0])
+ user = event["server"].get_user(event["line"].source.nickname)
+ reason = event["line"].args.get(1)
channel.remove_user(user)
user.part_channel(channel)
if not len(user.channels):
event["server"].remove_user(user)
- if not event["server"].is_own_nickname(event["source"].nickname):
+ if not event["server"].is_own_nickname(event["line"].source.nickname):
events.on("received.part").call(channel=channel, reason=reason,
user=user, server=event["server"])
else:
@@ -118,28 +118,28 @@ def part(events, event):
server=event["server"])
def handle_324(event):
- if event["args"][1] in event["server"].channels:
- channel = event["server"].channels.get(event["args"][1])
- modes = event["args"][2]
- args = event["args"][3:]
+ 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[:])
def handle_329(event):
- channel = event["server"].channels.get(event["args"][1])
- channel.creation_timestamp = int(event["args"][2])
+ channel = event["server"].channels.get(event["line"].args[1])
+ channel.creation_timestamp = int(event["line"].args[2])
def handle_477(timers, event):
- channel_name = event["server"].irc_lower(event["args"][1])
+ channel_name = event["server"].irc_lower(event["line"].args[1])
if channel_name in event["server"].channels:
key = event["server"].attempted_join[channel_name]
timers.add("rejoin", 5, channel_name=channe_name, key=key,
server_id=event["server"].id)
def kick(events, event):
- user = event["server"].get_user(event["source"].nickname)
- target = event["args"][1]
- channel = event["server"].channels.get(event["args"][0])
- reason = event["args"].get(2)
+ user = event["server"].get_user(event["line"].source.nickname)
+ target = event["line"].args[1]
+ channel = event["server"].channels.get(event["line"].args[0])
+ reason = event["line"].args.get(2)
target_user = event["server"].get_user(target)
if not event["server"].is_own_nickname(target):
@@ -156,10 +156,11 @@ def kick(events, event):
event["server"].remove_user(target_user)
def rename(events, event):
- old_name = event["args"][0]
- new_name = event["args"][1]
+ old_name = event["line"].args[0]
+ new_name = event["args"].args[1]
channel = event["server"].channels.get(old_name)
event["server"].channels.rename(old_name, new_name)
events.on("received.rename").call(channel=channel, old_name=old_name,
- new_name=new_name, reason=event["args"].get(2), server=event["server"])
+ new_name=new_name, reason=event["line"].args.get(2),
+ server=event["server"])