int isnewchan;
/* (we don't see the first 2 params in cargc) */
- /* AK B #+lod+ 1017561154 +tnk eits ATJWu:o,AiW1a,Ag3lV,AiWnl,AE6oI :%*!@D577A90D.kabel.telenet.be */
+ /* AK B #+lod+ 1017561154 +tnk eits ATJWu:o,AiW1a,Ag3lV,AiWnl,AE6oI :%*!@123.example.net */
if (cargc<2) {
Error("channel",ERR_WARNING,"Burst message with only %d parameters",cargc);
/* Erm, parting a channel that's not there?? */
Error("channel",ERR_WARNING,"Nick %s left non-existent channel %s",np->nick,nextchan);
} else {
- /* Trigger hook *FIRST* */
- harg[0]=cp;
- triggerhook(HOOK_CHANNEL_PART,harg);
-
- delnickfromchannel(cp,np->numeric,1);
+ /* Skip ghost parts (confirmation for kick from target server). */
+ if (getnumerichandlefromchanhash(cp->users, np->numeric)) {
+ /* Trigger hook *FIRST* */
+ harg[0]=cp;
+ triggerhook(HOOK_CHANNEL_PART,harg);
+ delnickfromchannel(cp,np->numeric,1);
+ }
}
nextchan=pos;
}