diff --git a/irclog.py b/irclog.py index c5d0efe..619a581 100644 --- a/irclog.py +++ b/irclog.py @@ -565,6 +565,10 @@ class IRCClientProtocol(asyncio.Protocol): channel = line.params[0] if channel not in self.server.channels: return + if line.command == 'PRIVMSG' and line.params[1].startswith('\x01ACTION ') and line.params[1].endswith('\x01'): + # CTCP ACTION (aka /me) + yield 'ACTION', channel, f'{get_mode_nick(channel)} {line.params[1][8:-1]}' + return yield line.command, channel, f'<{get_mode_nick(channel)}> {line.params[1]}' elif line.command == 'PART': channels = [line.params[0]] if ',' not in line.params[0] else line.params[0].split(',')