43 Commits

Author SHA1 Message Date
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
GLolol
c8e979bb3f RelayNext: further optimizations 2015-01-06 00:54:43 -05:00
James Lu
91f039f5b5 RelayNext: allow toggling relaying of non-privmsg events 2015-01-05 18:45:23 -08:00
GLolol
1451bf2614 RelayNext: optimize channel handling 2015-01-05 10:51:40 -05:00
GLolol
e01fee6d41 RelayNext: format ACTION (/me) properly 2015-01-04 19:50:31 -05:00
GLolol
a42e3ebe41 RelayNext: catch errors for QUIT 2015-01-04 19:42:22 -05:00
James Lu
169c1873dc RelayNext: make options configurable 2015-01-04 16:27:37 -08:00
James Lu
3419de9127 RelayNext: fix nicks --count 2015-01-04 16:20:19 -08:00
James Lu
f1f6a5c0f9 RelayNext: catch bot's messages via outFilter, demote dropped message logging to debug 2015-01-04 16:17:38 -08:00
James Lu
ad181f7d5b RelayNext: mode, nick, quit relaying added; add 'nicks' and 'clear' commands 2015-01-04 16:03:39 -08:00
James Lu
85479ce111 RelayNext: initial commit (Closes #17)
New relay plugin still in heavy development. A lot of things are either missing or broken right now. Quit and nick change relaying doesn't work!
2015-01-03 19:50:32 -08:00