]> jfr.im git - solanum.git/blobdiff - modules/core/m_join.c
Move to ratbox3 reject and throttle code.
[solanum.git] / modules / core / m_join.c
index ff4750f335c70c21586231290a18f1d52ba499c4..2f51663d2e699dd9472c87207398c0a18cab4fe0 100644 (file)
@@ -137,6 +137,7 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p
        struct ConfItem *aconf;
        char *name;
        char *key = NULL;
+       const char *modes;
        int i, flags = 0;
        char *p = NULL, *p2 = NULL;
        char *chanlist;
@@ -341,17 +342,15 @@ m_join(struct Client *client_p, struct Client *source_p, int parc, const char *p
                        chptr->channelts = rb_current_time();
                        chptr->mode.mode |= MODE_TOPICLIMIT;
                        chptr->mode.mode |= MODE_NOPRIVMSGS;
+                       modes = channel_modes(chptr, &me);
 
-                       sendto_channel_local(ONLY_CHANOPS, chptr, ":%s MODE %s +nt",
-                                            me.name, chptr->chname);
+                       sendto_channel_local(ONLY_CHANOPS, chptr, ":%s MODE %s %s",
+                                            me.name, chptr->chname, modes);
 
-                       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, CAP_TS6, NOCAPS,
+                                     ":%s SJOIN %ld %s %s :@%s",
+                                     me.id, (long) chptr->channelts,
+                                     chptr->chname, modes, source_p->id);
                }
                else
                {