From 3f27df6d0a2bf76e477ebf5fc600289402e4cccd Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Mon, 9 May 2016 15:43:20 -0700 Subject: [PATCH] irc.logbot.log-line: print the user prefix. --- extra/irc/logbot/log-line/log-line.factor | 43 +++++++++++++++++------ 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/extra/irc/logbot/log-line/log-line.factor b/extra/irc/logbot/log-line/log-line.factor index 0960a3cedb..8864369ad5 100644 --- a/extra/irc/logbot/log-line/log-line.factor +++ b/extra/irc/logbot/log-line/log-line.factor @@ -1,6 +1,7 @@ ! Copyright (C) 2009 Bruno Deferrari. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors irc.messages irc.messages.base kernel make ; +USING: accessors irc.messages irc.messages.base kernel make +combinators ; EXCLUDE: sequences => join ; IN: irc.logbot.log-line @@ -20,24 +21,46 @@ M: action >log-line M: privmsg >log-line [ "<" % dup sender>> % "> " % text>> % ] "" make ; +: prefix% ( string -- ) + " [" % % "]" % ; + M: join >log-line - [ "* " % sender>> % " has joined the channel." % ] "" make ; + [ + [ "* " % sender>> % ] + [ prefix>> prefix% " has joined the channel." % ] bi + ] "" make ; M: part >log-line - [ "* " % dup sender>> % " has left the channel" % - comment>> dot-or-parens % ] "" make ; + [ + [ "* " % sender>> % ] + [ prefix>> prefix% " has left the channel" % ] + [ comment>> dot-or-parens % ] tri + ] "" make ; M: quit >log-line - [ "* " % dup sender>> % " has quit" % - comment>> dot-or-parens % ] "" make ; + [ + [ "* " % sender>> % ] + [ prefix>> prefix% " has quit" % ] + [ comment>> dot-or-parens % ] tri + ] "" make ; M: kick >log-line - [ "* " % dup sender>> % " has kicked " % dup user>> % - " from the channel" % comment>> dot-or-parens % ] "" make ; + [ + { + [ "* " % sender>> % ] + [ " has kicked " % user>> % ] + [ " from the channel" % comment>> dot-or-parens % ] + } cleave + ] "" make ; M: participant-mode >log-line - [ "* " % dup sender>> % " has set mode " % dup mode>> % - " to " % parameter>> % ] "" make ; + [ + { + [ "* " % sender>> % ] + [ " has set mode " % mode>> % ] + [ " to " % parameter>> % ] + } cleave + ] "" make ; M: nick >log-line [ "* " % dup sender>> % " is now known as " % nickname>> % ] "" make ;