irc.messages: Remove nickname/channel distiction

db4
Bruno Deferrari 2008-09-07 00:14:51 -03:00
parent 007c68ab6b
commit 198e35fac2
3 changed files with 6 additions and 22 deletions

View File

@ -183,7 +183,7 @@ GENERIC: forward-name ( irc-message -- name )
M: join forward-name ( join -- name ) trailing>> ;
M: part forward-name ( part -- name ) channel>> ;
M: kick forward-name ( kick -- name ) channel>> ;
M: mode forward-name ( mode -- name ) channel>> ;
M: mode forward-name ( mode -- name ) name>> ;
M: privmsg forward-name ( privmsg -- name )
dup name>> me? [ irc-message-sender ] [ name>> ] if ;

View File

@ -39,7 +39,7 @@ IN: irc.messages.tests
{ prefix "ircserver.net" }
{ command "MODE" }
{ parameters { "#factortest" "+ns" } }
{ channel "#factortest" }
{ name "#factortest" }
{ mode "+ns" } } }
[ ":ircserver.net MODE #factortest +ns"
parse-irc-line f >>timestamp ] unit-test
@ -49,22 +49,12 @@ IN: irc.messages.tests
{ prefix "ircserver.net" }
{ command "MODE" }
{ parameters { "#factortest" "+o" "someuser" } }
{ channel "#factortest" }
{ name "#factortest" }
{ mode "+o" }
{ parameter "someuser" } } }
[ ":ircserver.net MODE #factortest +o someuser"
parse-irc-line f >>timestamp ] unit-test
{ T{ mode
{ line ":ircserver.net MODE someuser +i" }
{ prefix "ircserver.net" }
{ command "MODE" }
{ parameters { "someuser" "+i" } }
{ nickname "someuser" }
{ mode "+i" } } }
[ ":ircserver.net MODE someuser +i"
parse-irc-line f >>timestamp ] unit-test
{ T{ nick
{ line ":someuser!n=user@some.where NICK :someuser2" }
{ prefix "someuser!n=user@some.where" }

View File

@ -18,7 +18,7 @@ TUPLE: kick < irc-message channel who ;
TUPLE: roomlist < irc-message channel names ;
TUPLE: nick-in-use < irc-message asterisk name ;
TUPLE: notice < irc-message type ;
TUPLE: mode < irc-message channel mode nickname parameter ;
TUPLE: mode < irc-message name mode parameter ;
TUPLE: names-reply < irc-message who channel ;
TUPLE: unhandled < irc-message ;
@ -28,9 +28,6 @@ TUPLE: unhandled < irc-message ;
<PRIVATE
: channel? ( string -- ? )
first "#&" member? ;
GENERIC: command-string>> ( irc-message -- string )
M: irc-message command-string>> ( irc-message -- string ) command>> ;
@ -59,9 +56,6 @@ M: kick command-parameters>> ( kick -- seq )
M: mode command-parameters>> ( mode -- seq )
[ name>> ] [ channel>> ] [ mode>> ] tri 3array ;
: (>>channel|nickname) ( string mode -- )
over channel? [ (>>channel) ] [ (>>nickname) ] if ;
GENERIC: (>>command-parameters) ( params irc-message -- )
M: irc-message (>>command-parameters) ( params irc-message -- ) 2drop ;
@ -74,8 +68,8 @@ M: kick (>>command-parameters) ( params kick -- )
M: names-reply (>>command-parameters) ( params names-reply -- )
[ >r first r> (>>who) ] [ >r third r> (>>channel) ] 2bi ;
M: mode (>>command-parameters) ( params mode -- )
{ { [ >r 2array r> ] [ [ (>>mode) ] [ (>>channel|nickname) ] bi ] }
{ [ >r 3array r> ] [ [ (>>parameter) ] [ (>>mode) ] [ (>>channel) ] tri ] }
{ { [ >r 2array r> ] [ [ (>>mode) ] [ (>>name) ] bi ] }
{ [ >r 3array r> ] [ [ (>>parameter) ] [ (>>mode) ] [ (>>name) ] tri ] }
} switch ;
PRIVATE>