diff -uNr a/logotron/MANIFEST.TXT b/logotron/MANIFEST.TXT --- a/logotron/MANIFEST.TXT b92cb800176d9f7a54fe6d250363597d4bac1cd60eedf87d37cca3eb57a9fbe8cdc387744aa59a8c7d96e89491397cf420abcee6a67fab747acb7df2bafcf2ed +++ b/logotron/MANIFEST.TXT de2532e106e3a761c231f92427b6c099f7e5d1b6f01759ba443a28682289642707a59dd738833cda23d849ca36784ec449bed22bab70ab712be4f24da2b9b6a7 @@ -21,3 +21,4 @@ 641794 aug2020_errata asciilifeform "Stylistic fixes for previous patch." 684804 frontend_updates billymg "Changes to HTML/CSS to allow for easier theming. Added config knobs for custom log root and CSS file." 684819 add_bitdash_theme billymg "Add dark theme used on http://logs.bitdash.io" +689331 lose_fleanode asciilifeform "Remove all Freenodeisms." diff -uNr a/logotron/bot.py b/logotron/bot.py --- a/logotron/bot.py d33d6b379dc88808fd72e9579d23818b7a2611d24f48e07ed4eba2dcdc97e228d7f45c34f939fc282146ed3e89f320d709cf023711c9dbb0394dfd39b36dcf4c +++ b/logotron/bot.py 048fcb73260b4b85459e1e8ca4529df95a1e4d6898b74a8259c38a690aeb0840cf77fef9fd5f16445287f0d4091e18ddf7e2da478e9cb09db157f16eeb4c85ec @@ -14,7 +14,9 @@ ############################################################################## # Version. If changing this program, always set this to same # as in MANIFEST -Ver = 684804 +Ver = 689331 + +## As of version 689331, this program will NOT work with Freenode !!! ############################################################################## @@ -65,7 +67,7 @@ Nick = cfg.get("irc", "nick") Pass = cfg.get("irc", "pass") Channels = [x.strip() for x in cfg.get("irc", "chans").split(',')] - Join_Delay = int(cfg.get("irc", "join_t")) + SkipInitLn = int(cfg.get("irc", "skip_init_lines")) Discon_TO = int(cfg.get("irc", "disc_t")) Prefix = cfg.get("control", "prefix") # DBism: @@ -245,6 +247,18 @@ eat_logline(user, chan, text, action) +joined = False +def join_chans(): + global joined + # Join selected channels + if joined: + return + for chan in Channels: + logging.info("Joining channel '%s'..." % chan) + send("JOIN #%s\r\n" % chan) + joined = True + + # IRCate until we get disconnected def irc(): global connected @@ -263,24 +277,22 @@ time_last_conn = datetime.now() # Auth to server - send("NICK %s\r\n" % Nick) - send("USER %s %s %s :%s\r\n" % (Nick, Nick, Nick, Nick)) - # If this is a production bot, rather than test, there will be a PW: if Pass != "": - send("NICKSERV IDENTIFY %s %s\r\n" % (Nick, Pass)) - - time.sleep(Join_Delay) # wait to join until fleanode eats auth - - # Join selected channels - for chan in Channels: - logging.info("Joining channel '%s'..." % chan) - send("JOIN #%s\r\n" % chan) + send("PASS %s\r\n" % Pass) + send("NICK %s\r\n" % Nick) + send("USER %s 0 * :%s\r\n\r\n" % (Nick, Nick)) + + lnrec = 0 + while connected: try: data = sock.recv(Buf_Size) time_last_recv = datetime.now() # Received anything -- reset timer + lnrec = lnrec + 1 + if lnrec > SkipInitLn: + join_chans() except socket.timeout as e: logging.debug("Receive timed out") # Determine whether the connection has timed out: diff -uNr a/logotron/nsabot.conf b/logotron/nsabot.conf --- a/logotron/nsabot.conf e30960d97ff96aeddd33d35b1cc16f99a35023a942846bb87f691a0bf66764b6a5bc1eb979f51ac0a6410d0893693e199b719b17c9db1881ea4df459632d722b +++ b/logotron/nsabot.conf 7e1f575d5950f04bb47b266aef27f06152baa34a2d688f1c8329c35bc19bc11fe325b5468faa646cf338e420a154ba57adcf47486b771d7ca18246f26d507a76 @@ -14,10 +14,11 @@ chans = asciilifeform-test, asciilifeform-test-2 # IRC nick PW -pass = YOURFLEANODEPW +pass = YOURPW -# How long to wait for fleanode to ack auth of nick before joining chans -join_t = 20 +# How many lines of init message must be skipped. +# A value of 2 is known to work with UnrealIRCD. +skip_init_lines = 2 # Force-disconnect after this many seconds of complete (incl. 0 PINGs) silence disc_t = 180 diff -uNr a/logotron/release_notes.txt b/logotron/release_notes.txt --- a/logotron/release_notes.txt 51f3129759cf2d7c920785477c6a1e1f88e9fe5292ebd099e533fe89bc776522c698a0ad8878b784be19608e79e72952c25b80ca3038be75f2e9d48b3e2c6af8 +++ b/logotron/release_notes.txt fc613fc6b9264924b46517b361dbfe9d1996770f9b942accef9dd9e30f755bb40f5b0ee7515c98e7acc6bf1dfdc0e30ad94b17e135cdcd2b7d9670d69508abf6 @@ -1,4 +1,14 @@ ###################### +2021 Aug 19 Update #1: +###################### +----------------------------------------------------------------------------------- +689331 lose_fleanode asciilifeform "Remove all Freenodeisms." +----------------------------------------------------------------------------------- +(1) Remove "guest login" option, as it only worked with Freenode (RIP) +(2) Remove Freenodeisms from login routine, replace with the current generic item. + + +###################### 2021 May 24 Update #2: ###################### ----------------------------------------------------------------------------------- diff -uNr a/logotron/templates/layout.html b/logotron/templates/layout.html --- a/logotron/templates/layout.html 68fb1bd53530a683f6796169325527d8a720cc306f143c276eb7677720deced935d780117ad3e75e9baed2aacf91fd70812050c35ed09e94b684308f5d8006cc +++ b/logotron/templates/layout.html de95f226f3a40f846d46ad729d874e1ea6cb6ebc9411758c44707b9f06d2a97003675447d699438f3a226f3472af0c7e0f7808b04dcfab267df88dd2b9959be3 @@ -47,7 +47,6 @@