Răsfoiți Sursa

* No need to send JOIN when cycling channels, let the bot rejoin auto when seeing the PART (slightly slower but less complex)

Bryan Drewery 16 ani în urmă
părinte
comite
ed438da26f
2 a modificat fișierele cu 4 adăugiri și 7 ștergeri
  1. 3 4
      src/mod/irc.mod/chan.c
  2. 1 3
      src/mod/irc.mod/irc.c

+ 3 - 4
src/mod/irc.mod/chan.c

@@ -3012,11 +3012,10 @@ void check_should_cycle(struct chanset_t *chan)
     /* I'm only one opped here... and other side has some ops... so i'm cycling */
     if (localnonops) {
       /* need to unset any +kil first */
-      dprintf(DP_MODE, "MODE %s -ilk %s\nPART %s\nJOIN %s\n", chan->name,
-                            (chan->channel.key && chan->channel.key[0]) ? chan->channel.key : "",
-                             chan->name, chan->name);
+      dprintf(DP_MODE, "MODE %s -ilk %s\n", chan->name[0] ? chan->name : chan->dname, (chan->channel.key && chan->channel.key[0]) ? chan->channel.key : "");
+      dprintf(DP_MODE, "PART %s\n", chan->name[0] ? chan->name : chan->dname);
     } else
-      dprintf(DP_MODE, "PART %s\nJOIN %s\n", chan->name, chan->name);
+      dprintf(DP_MODE, "PART %s\n", chan->name[0] ? chan->name : chan->dname);
   }
 }
 

+ 1 - 3
src/mod/irc.mod/irc.c

@@ -1370,9 +1370,7 @@ check_lonely_channel(struct chanset_t *chan)
     if (chan->name[0] != '+') { /* Its pointless to cycle + chans for ops */
       putlog(LOG_MISC, "*", "Trying to cycle %s to regain ops.", chan->dname);
       dprintf(DP_MODE, "PART %s\n", chan->name);
-      /* If it's a !chan, we need to recreate the channel with !!chan <cybah> */
-      dprintf(DP_MODE, "JOIN %s%s %s\n", (chan->dname[0] == '!') ? "!" : "", chan->dname, chan->key_prot);
-      chan->ircnet_status |= CHAN_JOINING;
+      // Will auto rejoin once the bot PARTs
       whined = 0;
     }
   } else if (any_ops(chan)) {