process-message ( irc-message -- )


Vocabulary
irc.client.internals

Definition
IN: irc.client.internals

GENERIC: process-message ( irc-message -- )


Methods
USING: accessors irc.client.base irc.client.internals
irc.client.participants irc.messages kernel ;

M: join process-message
[ sender>> ] [ chat> ] bi [ join-participant ] [ drop ] if*
;


USING: accessors irc.client.base irc.client.internals
irc.client.participants irc.messages kernel ;

M: kick process-message
[ [ user>> ] [ chat> ] bi part-participant ]
[ dup user>> me? [ unregister-chat ] [ drop ] if ] bi ;


USING: accessors irc.client.internals irc.client.participants
irc.messages kernel ;

M: nick process-message
[ trailing>> ] [ sender>> ] bi rename-participant* ;


USING: irc.client.internals kernel ;

M: object process-message drop ;


USING: accessors irc.client.base irc.client.internals
irc.client.participants irc.messages kernel ;

M: part process-message
[ sender>> ] [ chat> ] bi [ part-participant ] [ drop ] if*
;


USING: accessors irc.client.internals irc.client.participants
irc.messages kernel ;

M: participant-mode process-message
[ mode>> ] [ name>> ] [ parameter>> ] tri
change-participant-mode ;


USING: accessors irc.client.internals irc.messages ;

M: ping process-message trailing>> /PONG ;


USING: accessors irc.client.internals irc.client.participants
irc.messages ;

M: quit process-message sender>> quit-participant ;


USING: accessors irc.client.base irc.client.internals
irc.messages kernel ;

M: rpl-names-end process-message
chat> t >>clear-participants drop ;


USING: accessors irc.client.base irc.client.internals
irc.client.participants irc.messages kernel sequences ;

M: rpl-names process-message
[ nicks>> ] [ chat> ] bi dup ?clear-participants
[ join-participant ] curry each ;


USING: accessors irc.client.internals irc.messages sequences ;

M: rpl-nickname-in-use process-message
name>> "_" append /NICK ;


USING: accessors assocs irc.client.base irc.client.internals
irc.messages kernel sequences ;

M: rpl-welcome process-message
irc> swap nickname>> >>nick t >>is-ready chats>> values
[ initialize-chat ] each ;