aboutsummaryrefslogtreecommitdiff
path: root/modules/line_handler/message.py
diff options
context:
space:
mode:
Diffstat (limited to 'modules/line_handler/message.py')
-rw-r--r--modules/line_handler/message.py109
1 files changed, 0 insertions, 109 deletions
diff --git a/modules/line_handler/message.py b/modules/line_handler/message.py
deleted file mode 100644
index fa36dbc2..00000000
--- a/modules/line_handler/message.py
+++ /dev/null
@@ -1,109 +0,0 @@
-from src import IRCBuffer, utils
-
-def _from_self(server, source):
- if source:
- return server.is_own_nickname(source.nickname)
- else:
- return False
-
-def message(events, event):
- from_self = _from_self(event["server"], event["line"].source)
- if from_self == None:
- return
-
- direction = "send" if from_self else "received"
-
- target_str = event["line"].args[0]
-
- message = None
- if len(event["line"].args) > 1:
- message = event["line"].args[1]
-
- if not from_self and (
- not event["line"].source or
- not event["server"].name or
- event["line"].source.hostmask == event["server"].name or
- target_str == "*"):
- if event["line"].source:
- event["server"].name = event["line"].source.hostmask
-
- events.on("received.server-notice").call(message=message,
- message_split=message.split(" "), server=event["server"])
- return
-
- if from_self:
- user = event["server"].get_user(event["server"].nickname)
- else:
- user = event["server"].get_user(event["line"].source.nickname,
- username=event["line"].source.username,
- hostname=event["line"].source.hostname)
-
- # strip prefix_symbols from the start of target, for when people use
- # e.g. 'PRIVMSG +#channel :hi' which would send a message to only
- # voiced-or-above users
- target = target_str.lstrip("".join(event["server"].statusmsg))
-
- is_channel = event["server"].is_channel(target)
-
- if is_channel:
- if not target in event["server"].channels:
- return
- target_obj = event["server"].channels.get(target)
- else:
- target_obj = event["server"].get_user(target)
-
- kwargs = {"server": event["server"], "target": target_obj,
- "target_str": target_str, "user": user, "tags": event["line"].tags,
- "is_channel": is_channel, "from_self": from_self, "line": event["line"]}
-
- action = False
-
- if message:
- ctcp_message = utils.irc.parse_ctcp(message)
-
- if ctcp_message:
- if (not ctcp_message.command == "ACTION" or not
- event["line"].command == "PRIVMSG"):
- if event["line"].command == "PRIVMSG":
- ctcp_action = "request"
- else:
- ctcp_action = "response"
- events.on(direction).on("ctcp").on(ctcp_action).call(
- message=ctcp_message.message, **kwargs)
- events.on(direction).on("ctcp").on(ctcp_action).on(
- ctcp_message.command).call(message=ctcp_message.message,
- **kwargs)
- return
- else:
- message = ctcp_message.message
- action = True
-
- if not message == None:
- kwargs["message"] = message
- kwargs["message_split"] = message.split(" ")
- kwargs["action"] = action
-
- event_type = event["line"].command.lower()
- if event_type == "privmsg":
- event_type = "message"
-
- context = "channel" if is_channel else "private"
- hook = events.on(direction).on(event_type).on(context)
-
- buffer_line = None
- if message:
- buffer_line = IRCBuffer.BufferLine(user.nickname, message, action,
- event["line"].tags, from_self, event["line"].command)
-
- buffer_obj = target_obj
- if is_channel:
- hook.call(channel=target_obj, buffer_line=buffer_line, **kwargs)
- else:
- buffer_obj = target_obj
- if not from_self:
- buffer_obj = user
-
- hook.call(buffer_line=buffer_line, **kwargs)
-
- if buffer_line:
- buffer_obj.buffer.add(buffer_line)