diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Client.pike b/lib/modules/Protocols.pmod/IRC.pmod/Client.pike index 635e26efd6489bde5947c5842ce23331874cfef9..e312213100195ef51df3689a0f7c322dd1b1583f 100644 --- a/lib/modules/Protocols.pmod/IRC.pmod/Client.pike +++ b/lib/modules/Protocols.pmod/IRC.pmod/Client.pike @@ -186,7 +186,14 @@ void got_notify(string from,string type, return; } break; - + + case "474": // "cannot join channel" + if ((c=channels[lower_case(message||"")])) + { + if (c->not_join_fail) c->not_join_fail(extra*" "); + return; + } + break; case "401": // no such nick werror("%O\n",({from,type,to,message,extra})); @@ -195,7 +202,7 @@ void got_notify(string from,string type, case "367": // mode b line if ((c=channels[lower_case(message||"")])) { - if (c->not_mode_b) c->not_mode_b(to,extra*" "); + if (c->not_mode_b) c->not_mode_b(extra*" "); return; } break; @@ -252,7 +259,7 @@ void got_notify(string from,string type, case "QUIT": forget_person(originator); foreach (values(channels),c) - c->not_part(originator,message,originator); + if (c && c->not_part) c->not_part(originator,message,originator); if (options->quit_notify) { // who, why diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike b/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike index e8df9820ebd39fffb5d67777b241bad2c4a90e45..c4ad9fd3ee8395ce32c66bb21a85527b47e8e47b 100644 --- a/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike +++ b/lib/modules/Protocols.pmod/IRC.pmod/Raw.pike @@ -4,7 +4,7 @@ import "."; object con; -// #define IRC_DEBUG +// #define IRC_DEBUG function(string,string ...:void) command_callback; function(string,string ...:void) notify_callback; diff --git a/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod b/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod index 7ffddd7c8d9586fa5c88d94d05179f96b9f6e927..9580fc6f539ea015d004e3829fd4a7c80972df9e 100644 --- a/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod +++ b/lib/modules/Protocols.pmod/IRC.pmod/Requests.pmod @@ -6,7 +6,7 @@ NICK Mirar^ USER mirar mistel.idonex.se irc.starchat.net :Mirar is testing */ -string __cvs_id="$Id: Requests.pmod,v 1.4 2000/11/12 23:41:50 mirar Exp $"; +string __cvs_id="$Id: Requests.pmod,v 1.5 2000/11/18 10:39:00 mirar Exp $"; import "."; @@ -102,6 +102,7 @@ object ping=NoReply("PING","text"); object privmsg=NoReply("PRIVMSG","string","text"); object notice=NoReply("NOTICE","string","text"); object join=NoReply("JOIN","string"); +object part=NoReply("PART","string"); object names=NoReply("NAMES","string"); object who=NoReply("WHO","string"); object kick=NoReply("KICK","string","string","text");