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: join forward-name ( join -- name ) trailing>> ;
|
||||||
M: part forward-name ( part -- name ) channel>> ;
|
M: part forward-name ( part -- name ) channel>> ;
|
||||||
M: kick forward-name ( kick -- 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 )
|
M: privmsg forward-name ( privmsg -- name )
|
||||||
dup name>> me? [ irc-message-sender ] [ name>> ] if ;
|
dup name>> me? [ irc-message-sender ] [ name>> ] if ;
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ IN: irc.messages.tests
|
||||||
{ prefix "ircserver.net" }
|
{ prefix "ircserver.net" }
|
||||||
{ command "MODE" }
|
{ command "MODE" }
|
||||||
{ parameters { "#factortest" "+ns" } }
|
{ parameters { "#factortest" "+ns" } }
|
||||||
{ channel "#factortest" }
|
{ name "#factortest" }
|
||||||
{ mode "+ns" } } }
|
{ mode "+ns" } } }
|
||||||
[ ":ircserver.net MODE #factortest +ns"
|
[ ":ircserver.net MODE #factortest +ns"
|
||||||
parse-irc-line f >>timestamp ] unit-test
|
parse-irc-line f >>timestamp ] unit-test
|
||||||
|
@ -49,22 +49,12 @@ IN: irc.messages.tests
|
||||||
{ prefix "ircserver.net" }
|
{ prefix "ircserver.net" }
|
||||||
{ command "MODE" }
|
{ command "MODE" }
|
||||||
{ parameters { "#factortest" "+o" "someuser" } }
|
{ parameters { "#factortest" "+o" "someuser" } }
|
||||||
{ channel "#factortest" }
|
{ name "#factortest" }
|
||||||
{ mode "+o" }
|
{ mode "+o" }
|
||||||
{ parameter "someuser" } } }
|
{ parameter "someuser" } } }
|
||||||
[ ":ircserver.net MODE #factortest +o someuser"
|
[ ":ircserver.net MODE #factortest +o someuser"
|
||||||
parse-irc-line f >>timestamp ] unit-test
|
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
|
{ T{ nick
|
||||||
{ line ":someuser!n=user@some.where NICK :someuser2" }
|
{ line ":someuser!n=user@some.where NICK :someuser2" }
|
||||||
{ prefix "someuser!n=user@some.where" }
|
{ prefix "someuser!n=user@some.where" }
|
||||||
|
|
|
@ -18,7 +18,7 @@ TUPLE: kick < irc-message channel who ;
|
||||||
TUPLE: roomlist < irc-message channel names ;
|
TUPLE: roomlist < irc-message channel names ;
|
||||||
TUPLE: nick-in-use < irc-message asterisk name ;
|
TUPLE: nick-in-use < irc-message asterisk name ;
|
||||||
TUPLE: notice < irc-message type ;
|
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: names-reply < irc-message who channel ;
|
||||||
TUPLE: unhandled < irc-message ;
|
TUPLE: unhandled < irc-message ;
|
||||||
|
|
||||||
|
@ -28,9 +28,6 @@ TUPLE: unhandled < irc-message ;
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
||||||
: channel? ( string -- ? )
|
|
||||||
first "#&" member? ;
|
|
||||||
|
|
||||||
GENERIC: command-string>> ( irc-message -- string )
|
GENERIC: command-string>> ( irc-message -- string )
|
||||||
|
|
||||||
M: irc-message command-string>> ( irc-message -- string ) command>> ;
|
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 )
|
M: mode command-parameters>> ( mode -- seq )
|
||||||
[ name>> ] [ channel>> ] [ mode>> ] tri 3array ;
|
[ name>> ] [ channel>> ] [ mode>> ] tri 3array ;
|
||||||
|
|
||||||
: (>>channel|nickname) ( string mode -- )
|
|
||||||
over channel? [ (>>channel) ] [ (>>nickname) ] if ;
|
|
||||||
|
|
||||||
GENERIC: (>>command-parameters) ( params irc-message -- )
|
GENERIC: (>>command-parameters) ( params irc-message -- )
|
||||||
|
|
||||||
M: irc-message (>>command-parameters) ( params irc-message -- ) 2drop ;
|
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 -- )
|
M: names-reply (>>command-parameters) ( params names-reply -- )
|
||||||
[ >r first r> (>>who) ] [ >r third r> (>>channel) ] 2bi ;
|
[ >r first r> (>>who) ] [ >r third r> (>>channel) ] 2bi ;
|
||||||
M: mode (>>command-parameters) ( params mode -- )
|
M: mode (>>command-parameters) ( params mode -- )
|
||||||
{ { [ >r 2array r> ] [ [ (>>mode) ] [ (>>channel|nickname) ] bi ] }
|
{ { [ >r 2array r> ] [ [ (>>mode) ] [ (>>name) ] bi ] }
|
||||||
{ [ >r 3array r> ] [ [ (>>parameter) ] [ (>>mode) ] [ (>>channel) ] tri ] }
|
{ [ >r 3array r> ] [ [ (>>parameter) ] [ (>>mode) ] [ (>>name) ] tri ] }
|
||||||
} switch ;
|
} switch ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
Loading…
Reference in New Issue