irc.messages: Remove nickname/channel distiction
parent
007c68ab6b
commit
198e35fac2
|
@ -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 ;
|
||||
|
||||
|
|
|
@ -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" }
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue