diff options
| author | 2018-09-03 22:32:48 +0100 | |
|---|---|---|
| committer | 2018-09-03 22:32:48 +0100 | |
| commit | d90a5164da6d3c48fb4607dc74ba98598906a06c (patch) | |
| tree | e293e13abc58a6f48fe862c0387407a332870755 | |
| parent | Support IRCv3's echo-message (diff) | |
| signature | ||
Nope, revert echo-message support. a certain network only offers it in channel,
not private.
| -rw-r--r-- | IRCLineHandler.py | 20 | ||||
| -rw-r--r-- | IRCServer.py | 33 |
2 files changed, 20 insertions, 33 deletions
diff --git a/IRCLineHandler.py b/IRCLineHandler.py index 045bc33d..e1d32bec 100644 --- a/IRCLineHandler.py +++ b/IRCLineHandler.py @@ -8,8 +8,7 @@ RE_CHANTYPES = re.compile(r"\bCHANTYPES=(\W+)(?:\b|$)") RE_MODES = re.compile(r"[-+]\w+") CAPABILITIES = {"message-tags", "multi-prefix", "chghost", "invite-notify", - "account-tag", "account-notify", "extended-join", "away-notify", - "echo-message"} + "account-tag", "account-notify", "extended-join", "away-notify"} class LineHandler(object): def __init__(self, bot, events): @@ -380,20 +379,9 @@ class LineHandler(object): if target[0] in event["server"].channel_types: channel = event["server"].get_channel(event["args"][0]) - - if not event["server"].is_own_nickname(nickname): - self.events.on("received.message.channel").call( - user=user, channel=channel, **kwargs) - channel.buffer.add_line(user.nickname, message, action) - else: - # supporting echo-message - self.events.on("self.message.channel").call( - channel=channel, **kwargs) - channel.buffer.add_line(user.nickname, message, action, True) - elif event["server"].is_own_nickname(nickname): - # supporting echo-message - self.events.on("self.message.private").call( - user=event["server"].get_user(target), **kwargs) + self.events.on("received.message.channel").call( + user=user, channel=channel, **kwargs) + channel.buffer.add_line(user.nickname, message, action) elif event["server"].is_own_nickname(target): self.events.on("received.message.private").call( user=user, **kwargs) diff --git a/IRCServer.py b/IRCServer.py index a1d42476..b36bc169 100644 --- a/IRCServer.py +++ b/IRCServer.py @@ -331,25 +331,24 @@ class Server(object): full_message = message if not prefix else prefix+message self.send("PRIVMSG %s :%s" % (target, full_message)) - if not "echo-message" in self.capabilities: - action = full_message.startswith("\01ACTION " - ) and full_message.endswith("\01") + action = full_message.startswith("\01ACTION " + ) and full_message.endswith("\01") - if action: - message = full_message.split("\01ACTION ", 1)[1][:-1] + if action: + message = full_message.split("\01ACTION ", 1)[1][:-1] - full_message_split = full_message.split() - if self.has_channel(target): - channel = self.get_channel(target) - channel.buffer.add_line(None, message, action, True) - self.events.on("self").on("message").on("channel").call( - message=full_message, message_split=full_message_split, - channel=channel, action=action, server=self) - else: - user = self.get_user(target) - user.buffer.add_line(None, message, action, True) - self.events.on("self").on("message").on("private").call( - message=full_message, message_split=full_message_split, + full_message_split = full_message.split() + if self.has_channel(target): + channel = self.get_channel(target) + channel.buffer.add_line(None, message, action, True) + self.events.on("self").on("message").on("channel").call( + message=full_message, message_split=full_message_split, + channel=channel, action=action, server=self) + else: + user = self.get_user(target) + user.buffer.add_line(None, message, action, True) + self.events.on("self").on("message").on("private").call( + message=full_message, message_split=full_message_split, user=user, action=action, server=self) def send_notice(self, target, message): |
