60 Commits

Author SHA1 Message Date
James Lu
ea890b433a RelayNext: check ignoreRegexp before CTCPs 2018-07-27 14:56:26 +00:00
James Lu
43fe7e9fc0 RelayNext: match ignoreRegexp case insensitively 2018-07-27 14:34:26 +00:00
James Lu
198d971e4c RelayNext: add regexp-based message filtering 2018-07-26 18:12:45 +00:00
James Lu
546851574e RelayNext: modularize blockHighlights and apply on KICK, NICK too 2016-09-18 11:08:03 -07:00
James Lu
436956cb99 RelayNext: colour nicknames AFTER processing highlight prevention 2016-09-18 11:04:57 -07:00
MicroDroid
dcb33f2c88 Improve highlighting prevention (#57) 2016-09-18 10:52:19 -07:00
James Lu
310b14c2ed RelayNext: don't unconditionally lowercase netname when formatting 2016-08-21 15:12:39 -07:00
James Lu
843d17b5c0 RelayNext: fix case normalization of network names
Reported by @Xenthys and @Zoddo.
2016-08-21 15:02:27 -07:00
James Lu
528355d9ed RelayNext: really fix AssertionError when server sends a message 2016-04-07 18:16:30 -07:00
James Lu
4acb395694 RelayNext: don't cause AssertionError when servers send a message
Looking up a server name with ircdb.checkIgnored (when servers set modes, for example) raises an AssertionError, so only do that for senders that are a valid nick.
2016-04-05 21:03:19 -07:00
James Lu
a05567620b RelayNext: exempt the bot from ignore checking 2016-03-27 10:20:15 -07:00
James Lu
a432ab7d5b RelayNext: check for channel ignores too
lalala nothing to see here
2016-03-27 09:52:52 -07:00
James Lu
8d30c20a1e RelayNext: be channel-specific when looking at events to ignore 2016-03-25 15:20:01 -07:00
James Lu
5ba2d46273 RelayNext: respect noHighlight in the newnick of NICK change relays
Reported by @nathan0.
2016-03-17 14:53:36 -07:00
James Lu
e07d8c9bb3 RelayNext: purge -'s in nonprivmsg formatting
This is inherently useless and only makes the post-formatting code more complicated than it should be.
2016-03-17 10:52:03 -07:00
James Lu
8f98243814 RelayNext: more cleanup; show a specific error when 'nicks' is called on a channel without any relays 2016-03-06 12:33:27 -08:00
James Lu
1f78a9fb28 RelayNext: cleanup, sort 'nicks' output case-insensitively 2016-03-06 12:33:27 -08:00
James Lu
1ae2baa347 RelayNext: strip CTCPs other than actions 2016-02-24 18:25:02 -08:00
James Lu
f4cde05c85 RelayNext: ignore PMs in doPrivmsg 2016-02-17 06:58:33 -08:00
James Lu
52f0fb2d46 RelayNext: Optionally show status prefixes in messages (Closes #38) 2016-02-11 10:02:45 -08:00
James Lu
867e61ea78 RelayNext: cleanup, switch to using new msg.tagged('channels') - Closes #40.
- Drop _getAllRelaysForNetwork() and custom state keeping code, as they aren't needed anymore
- Hopefully closes #41? (we may never know)
- Also, don't lowercase command names in flood prevention announcements: "PRIVMSGs" looks more correct than "privmsgs" IMO
2016-02-07 12:52:24 -08:00
James Lu
93e558d17c RelayNext: consistently use str.lower for channel names instead of casemapping-dependant ircutils.toLower
Internally, the relay database doesn't care about case mappings - channel names are stored lowercase, word for word.
Using ircutils.toLower for channel names in the relay core breaks if the channel name has characters that when lowercased using RFC1459 case mapping, give a different literal result (e.g. #\\\ becomes #|||, which isn't in a relay)
2016-02-07 12:52:24 -08:00
James Lu
2319948a47 RelayNext: alphabetically sort 'nicks' output 2016-01-19 20:55:01 -08:00
James Lu
84de8f100e RelayNext: fix disconnected networks causing error in 'nicks'
Reported by @nathan0.
2015-12-28 20:27:41 -08:00
James Lu
a08eb2dc4a Relaynext: fix check for disconnected networks 2015-12-27 13:58:36 -08:00
James Lu
688f00ac4d RelayNext: don't send messages to relay channels we're not in
This pretends a slew of "cannot send to channel" errors and possible excess floods whenever the bot is starting, as different networks connect at their own pace.
2015-12-13 18:01:04 -08:00
James Lu
03a29d72ad RelayNext: handle channels case-insensitively when relaying bot messages 2015-09-27 19:16:08 -07:00
James Lu
c392b7fbf1 RelayNext: use log.exception instead of traceback.print_exc() 2015-09-27 19:02:57 -07:00
James Lu
1c5dd5f0a4 RelayNext: make flood detection command-specific too 2015-09-22 18:02:45 -07:00
James Lu
9f837aa060 RelayNext: split antiflood into config.plugins.antiflood.messages.[nonprivmsgs] 2015-05-22 21:47:30 -07:00
James Lu
47f59f406d RelayNext: only run flood checking on channels in relays
This prevents useless "Flood detected" messages from appearing in other, unrelated channels.
2015-04-20 16:29:31 -07:00
James Lu
cbece29293 RelayNext: typo fix 2015-04-17 16:59:38 -07:00
James Lu
59b0b5c991 RelayNext: fix check for disconnected networks 2015-04-05 17:13:26 -07:00
James Lu
b7f3e6a082 RelayNext: get channel value correctly in _format() 2015-04-05 13:21:38 -07:00
James Lu
0b96855a27 RelayNext: remove double variable declaration 2015-04-05 12:56:41 -07:00
James Lu
6743008a2b RelayNext: REALLY fix QUIT relaying, use world.getIrc() instead of our own dict 2015-04-05 12:50:09 -07:00
James Lu
27e2a290b3 RelayNext: fix network initialization 2015-03-30 17:15:08 -07:00
James Lu
e56ba60f22 RelayNext: more little fixes and removal of old debug cruft 2015-03-30 17:07:51 -07:00
James Lu
72a27ed519 RelayNext: bugfixes and attempts to fix quit detection 2015-03-30 16:58:02 -07:00
James Lu
48cd776d59 RelayNext: wrap 'nicks' output using textwrap (still needs more testing)
ref #27
2015-03-21 17:32:11 -07:00
James Lu
ca3fbc919b RelayNext: add tests for the database commands & fix the bugs they've helped me discover!
More specifically, test 'set', 'add', 'remove', 'clear', and 'list'. These are some relatively
complex functions that deal with: case-insensitive duplicate checking, requiring at least 2
channels per relay (auto-remove when a relay is below this threshold), adding/removing things
from existing relays, and more... Sometimes manual testing can't catch all of these complex
situations!

This fixes a bug where you could add duplicate channels using the 'add' command if the same
channel was given with differing cases (e.g. 'relaynext add new-relay channel1@net CHANNEl1@Net').

Also, add a notice when trying to remove a channel that doesn't exist in a relay.
2015-02-05 21:33:28 -08:00
James Lu
065ac41975 RelayNext: update commands' help and force 'nicks' output to private notice 2015-02-05 20:57:40 -08:00
James Lu
78006970a5 RelayNext: merge 'unset' and 'remove' commands into 'remove'
New behavior: 'remove' without arguments removes entire relay, 'remove' with
channels specified will remove those channels in question. 'unset' is dropped.

Also update the README accordingly.
2015-02-01 20:44:57 -05:00
James Lu
45879709e5 RelayNext: semi-invasive optimizations Part 1 2015-02-01 14:13:54 -05:00
James Lu
eb67e827da RelayNext: fix kick relaying 2015-01-29 20:09:57 -05:00
James Lu
a33f37c4e6 RelayNext: support relaying topics (turned off by default) 2015-01-18 14:55:05 -05:00
James Lu
78a79fdf3d RelayNext: add ignore feature
This uses Supybot's built in ignore system, but allows configuring
which events to drop from ignored users. It defaults to
['PRIVMSG', 'MODE'].
2015-01-18 14:11:00 -05:00
GLolol
f62c6eef73 RelayNext: yet another crappy antiflood mechanism
Also, catch errors in outFilter so they don't block all of the bot's output.
2015-01-15 17:31:38 -08:00
GLolol
7edebc82a2 RelayNext: remove line used for debugging 2015-01-07 18:17:14 -08:00
GLolol
f0d2db0db3 RelayNext: add 'add' and 'remove' commands
These commands will add or subtract relays relative to the currently set relay, creating/deleting it if it is empty.

This requires a reset of all relays (use the set command over the current one should be adequate).
2015-01-06 18:55:36 -08:00