- source_p->name,
- source_p->username, source_p->host, chptr->chname);
-
- /* its a new channel, set +nt and burst. */
- if(flags & CHFL_CHANOP)
- {
- chptr->channelts = CurrentTime;
- chptr->mode.mode |= MODE_TOPICLIMIT;
- chptr->mode.mode |= MODE_NOPRIVMSGS;
-
- sendto_channel_local(ONLY_CHANOPS, chptr, ":%s MODE %s +nt",
- me.name, chptr->chname);
-
- if(*chptr->chname == '#')
- {
- sendto_server(client_p, chptr, CAP_TS6, NOCAPS,
- ":%s SJOIN %ld %s +nt :@%s",
- me.id, (long) chptr->channelts,
- chptr->chname, source_p->id);
- sendto_server(client_p, chptr, NOCAPS, CAP_TS6,
- ":%s SJOIN %ld %s +nt :@%s",
- me.name, (long) chptr->channelts,
- chptr->chname, source_p->name);
- }
- }
- else
- {
- const char *modes = channel_modes(chptr, &me);
-
- sendto_server(client_p, chptr, CAP_TS6, NOCAPS,
- ":%s JOIN %ld %s %s",
- use_id(source_p), (long) chptr->channelts,
- chptr->chname, modes);
-
- sendto_server(client_p, chptr, NOCAPS, CAP_TS6,
- ":%s SJOIN %ld %s %s :%s",
- me.name, (long) chptr->channelts,
- chptr->chname, modes, source_p->name);
- }
-
- del_invite(chptr, source_p);
-
- if(chptr->topic != NULL)
- {
- sendto_one(source_p, form_str(RPL_TOPIC), me.name,
- source_p->name, chptr->chname, chptr->topic);
-
- sendto_one(source_p, form_str(RPL_TOPICWHOTIME),
- me.name, source_p->name, chptr->chname,
- chptr->topic_info, chptr->topic_time);
- }
-
- channel_member_names(chptr, source_p, 1);
-
- if(successful_join_count)
- source_p->localClient->last_join_time = CurrentTime;
-
- hook_info.client = source_p;
- hook_info.chptr = chptr;
- hook_info.key = key;
- call_hook(h_channel_join, &hook_info);