3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-27 06:19:25 +01:00
Commit Graph

1209 Commits

Author SHA1 Message Date
Pragmatic Software
ca36ee00cd Ignore nicks that have not had activity in the last 1 hour when looking for similar nicks; add nicks to NickList when updating activity if they do not exist yet 2016-12-13 15:42:50 -08:00
Pragmatic Software
3c60a8452c Update version 2016-12-09 15:31:41 -08:00
Pragmatic Software
50c5c15fbd recall now skips nick-prefix and botnick-postfix messages 2016-12-09 15:31:36 -08:00
Pragmatic Software
534523287b Update version 2016-12-06 20:47:29 -08:00
Pragmatic Software
2cc4302c0b Update version 2016-12-04 22:00:55 -08:00
Pragmatic Software
c2a2debf3e Nick-floods are now once again detected 2016-12-04 22:00:50 -08:00
Pragmatic Software
4d2a89987b Update version 2016-12-01 05:19:04 -08:00
Pragmatic Software
ba7149f518 Add missing parentheses to recently added SQL statements 2016-12-01 05:18:56 -08:00
Pragmatic Software
af02bc43d3 Update version 2016-12-01 05:05:10 -08:00
Pragmatic Software
a4d23bc445 Er, use OR instead of AND... 2016-12-01 05:05:07 -08:00
Pragmatic Software
9eca3d5adc Update version 2016-12-01 04:57:28 -08:00
Pragmatic Software
d47edc100b Improve robustness of message history tracking 2016-12-01 04:57:25 -08:00
Pragmatic Software
a5260ef056 Update version 2016-11-30 20:57:28 -08:00
Pragmatic Software
ff51114a4f Missed a couple of account/ancestor replacements for nick-changes 2016-11-30 20:57:26 -08:00
Pragmatic Software
961f54f261 Update version 2016-11-30 09:28:36 -08:00
Pragmatic Software
3091516cc6 Reduce scope of $ancestor to nick-changes only
Move message account debug log messages behind a debug toggle
2016-11-30 09:28:19 -08:00
Pragmatic Software
8ba4ffffe4 More robust coverage of aliases when managing message history accounts
When adding a new unknown hostmask to the message history accounts, we now
take significant advantage of the aliases table to find an existing account
id for the hostmask before assigning it a new account id.

Likewise, we now take significant advantage of the aliases table when looking
for a nick-change match.

Fix misc channel case-sensitivity issues, add missing last-seen hostmask
updates, reduce message account linking log verbosity level.
2016-11-29 01:50:49 -08:00
Pragmatic Software
bbf45a3fab Fix potential channel name case-sensitivity issues; misc minor fixes 2016-11-29 01:44:31 -08:00
Pragmatic Software
3537b74877 Update last_seen hostmask field in WHO replies 2016-11-29 01:43:11 -08:00
Pragmatic Software
5012886d71 Update version 2016-11-28 12:15:32 -08:00
Pragmatic Software
ecd5feced1 AntiKickAutoRejoin: Fix channel case-sensitivity discrepancy and ignore roulette kicks (*BANG!*) 2016-11-28 12:15:26 -08:00
Pragmatic Software
31cb645f30 Update version 2016-11-17 18:34:15 -08:00
Pragmatic Software
a5bb523f96 Make secret stuff more secret 2016-11-17 18:34:11 -08:00
Pragmatic Software
e37b48822b Update version 2016-11-17 15:57:53 -08:00
Pragmatic Software
df8e15b39e Fix factlog for deleted factoids not in global channel 2016-11-17 15:57:48 -08:00
Pragmatic Software
107b4e9883 Update version 2016-11-16 19:15:50 -08:00
Pragmatic Software
3fbefa6746 Put some alias linking messages behind a debug toggle 2016-11-16 19:15:45 -08:00
Pragmatic Software
5d3298462a Add error messages to a couple of commands 2016-11-16 19:14:39 -08:00
Pragmatic Software
0e4f2d1447 Minor effective-level /kick derp 2016-11-16 19:14:00 -08:00
Pragmatic Software
fdf529f2ae Update version 2016-11-16 19:07:04 -08:00
Pragmatic Software
f3b3e90cdc Add factoid effective-level metadata and ability to kick from such factoids
Factoids can now have an effective-level metadata field. When set, certain
functionality requiring an effective-level will be enabled.

For now, that is currently only the /kick command, which has an effective-level
of 10.

Factoids with an effective-level set will also have the locked metadata
attribute set as well to prevent people from changing the factoid.  The
locked and/or effective-level attributes will be removable only by admins
whose level is equal to or greater than the effective-level.
2016-11-16 19:07:01 -08:00
Pragmatic Software
39399e78ae Allow debug tracing of event handlers; don't remove handlers on error 2016-11-16 18:59:13 -08:00
Pragmatic Software
4ed61096dd Missing hash dereference 2016-11-04 12:40:17 -07:00
Pragmatic Software
6fbd6d5620 Update version 2016-10-29 10:47:12 -07:00
Pragmatic Software
3bd424aacc Fix possible case-sensitivity issues 2016-10-29 10:47:08 -07:00
Pragmatic Software
72faa9169f Update version 2016-10-23 03:52:03 -07:00
Pragmatic Software
170dac5776 Improve !cmd and nick: !cmd processing 2016-10-23 03:51:59 -07:00
Pragmatic Software
0397068a7f Undo recent blink addition 2016-10-23 03:50:34 -07:00
Pragmatic Software
7f00047af8 Update version 2016-10-14 05:56:57 -07:00
Pragmatic Software
8addeb5d49 Allow "nick: !command" to address to nick; minor improvements 2016-10-14 05:56:54 -07:00
Pragmatic Software
4764b034e1 Update version 2016-09-28 14:13:47 -07:00
Pragmatic Software
c64dca7b07 Forgot a return 0 in an IRC handler, causing other related handlers to not fire after that handler 2016-09-28 14:13:44 -07:00
Pragmatic Software
49a21b2027 Update version 2016-09-25 12:59:05 -07:00
Pragmatic Software
c56b9662b8 Whoops, fix nick-similarity behavior for non-nicks 2016-09-25 12:59:03 -07:00
Pragmatic Software
c6473d0255 Update version 2016-09-25 00:24:52 -07:00
Pragmatic Software
2001fc1908 Whoops, return proper nick-casing for exact-match is_present_similar() result 2016-09-25 00:24:49 -07:00
Pragmatic Software
81e106285e Update version 2016-09-25 00:03:40 -07:00
Pragmatic Software
f34854fcec Add nick similarity completion
Previously, the bot wouldn't address people by nick if the provided nick
argument doesn't exist in the channel.

Now, the bot's nick list is searched for a nick with a certain similarity
percentage in the order of most recently spoken nicks first. This allows
the bot to address nicks when somebody may have forgotten to add a trailing
underscore/punctuation or may have typoed the nick.

The similarity percentage can be set via the interpreter->nick_similiarty
registry key.  A value of 0 should disable the behavior.
2016-09-25 00:03:37 -07:00
Pragmatic Software
6369a8df99 Update version 2016-09-23 18:32:03 -07:00
Pragmatic Software
3fd2519a87 Minor text change; don't aggressively pursue ping-timeouts 2016-09-23 18:32:00 -07:00
Pragmatic Software
d8854603c3 Update version 2016-09-22 08:26:46 -07:00
Pragmatic Software
0cd4102d37 Whoops, NickList should be registered after IRCHandlers since IRCHandlers depends on NickList for AntiFlood QUIT handling 2016-09-22 08:26:42 -07:00
Pragmatic Software
4091127213 Make aka usage message more concise 2016-09-22 08:25:50 -07:00
Pragmatic Software
e4d62a2e18 Update version 2016-09-13 12:43:31 -07:00
Pragmatic Software
754d38b50e Fix mismatching WHO id if no WHO replies 2016-09-13 12:43:27 -07:00
Pragmatic Software
1f03985178 Update version 2016-09-02 02:17:12 -07:00
Pragmatic Software
687a5e0ae2 Check WHO when joining channels
When joining a channel, check the WHO list for that channel in order
to obtain all hostmask, nickserv and gecos information and check for
potential ban evasions.
2016-09-02 02:17:10 -07:00
Pragmatic Software
87d02af264 check_bans now can do a dry-run 2016-09-02 02:12:20 -07:00
Pragmatic Software
ca5b832ddf Replace baninfo dump with terse line 2016-09-02 02:09:43 -07:00
Pragmatic Software
3225d74206 Update version 2016-08-30 02:14:36 -07:00
Pragmatic Software
2c554328c9 Whoops, do check-bans on join for unidentified users as well when extended-join capability is active 2016-08-30 02:14:21 -07:00
Pragmatic Software
8102e1bc21 Update version 2016-08-29 20:47:49 -07:00
Pragmatic Software
d07458425f No need to WHOIS on joins if extended-join is available 2016-08-29 20:47:46 -07:00
Pragmatic Software
ca349804ca Update version 2016-08-28 22:36:50 -07:00
Pragmatic Software
eff8046f2c kick command now provides random insult if no kick reason is given 2016-08-28 22:36:46 -07:00
Pragmatic Software
c93d3db39c Update version 2016-08-28 03:49:30 -07:00
Pragmatic Software
1442485d0b Support account-notify and extended-join capabilities 2016-08-28 03:49:27 -07:00
Pragmatic Software
43351ed8c2 Update version 2016-08-26 04:52:43 -07:00
Pragmatic Software
08a26a70a7 Minor derp with log message 2016-08-26 04:52:38 -07:00
Pragmatic Software
255b42efee Update version 2016-08-26 04:31:55 -07:00
Pragmatic Software
2dea20130f Missed a spot 2016-08-26 04:31:51 -07:00
Pragmatic Software
26c80d8351 Update version 2016-08-26 04:02:33 -07:00
Pragmatic Software
c13f3ae9dc Catch more rare scenarios for strongly linking accounts 2016-08-26 04:02:30 -07:00
Pragmatic Software
e532c5711f Update version 2016-08-25 01:42:11 -07:00
Pragmatic Software
568c1c8732 Use ? instead of ! to denote nickchange akas 2016-08-25 01:42:06 -07:00
Pragmatic Software
ba6fb2c2d7 Improve linking of accounts 2016-08-25 01:41:32 -07:00
Pragmatic Software
6d0a548c26 Update version 2016-08-17 20:34:49 -07:00
Pragmatic Software
857d1aa0d3 Refactor message account linking
Linking of message accounts is now significantly less likely to produce
false-positives.

Previously, any hostmasks with matching nick!*@* would be strongly linked
together.  This led to falsely-linking accounts, either inadvertently or
intentionally.

For example, Bob might also be known as Bob_ and Bobby,
but primarily uses Bob as his main nick.  Somebody else might join with
Bobby and end up being linked to Bob.  Now both Bob and the new Bobby are
linked together as the same person, but likely with different *!user@host.

Now if the new Bobby ever gets banned, then Bob will also end up being
banned for evading Bobby's ban.

This was a sore spot in the previous linking implementation.

This new implementation has several adjustments to more intelligently link
accounts only when they're proven beyond a reasonable doubt to be the same
person (e.g. by matching nickserv accounts, etc).

Consequently, rather than aggressively linking accounts and catching more
ban-evaders at the risk of potentially falsely-linking accounts and falsely
detecting innocent people as ban-evaders, this new implementation will instead
link accounts more reliably at the risk of potential ban-evaders not yet being
linked together and thus being able to evade a ban.

This is a more preferable and reasonable risk.  Active channel ops should be
able to catch any obnoxious ban-evaders that slip through this net.
2016-08-17 20:34:45 -07:00
Pragmatic Software
d77ea29b47 Update version 2016-08-01 01:46:30 -07:00
Pragmatic Software
96afc969b3 Update version 2016-07-15 14:09:33 -07:00
Pragmatic Software
674a96431b Improve nick-change evasion detection logic 2016-07-15 14:09:29 -07:00
Pragmatic Software
133b5d1875 Update version 2016-07-01 13:29:46 -07:00
Pragmatic Software
949dc14525 Command queue no longer delays commands relative to each other 2016-07-01 13:29:26 -07:00
Pragmatic Software
b03a4b68e6 Update version 2016-07-01 13:03:10 -07:00
Pragmatic Software
41030b5686 Quick rough-draft of auto-rejoin plugin 2016-07-01 13:02:58 -07:00
Pragmatic Software
de856f3887 Now joins channel if /invited (and channel is registered and enabled) 2016-07-01 13:01:34 -07:00
Pragmatic Software
b215dfe9de Add command queue for delayed command processing 2016-07-01 13:00:20 -07:00
Pragmatic Software
4cb77ba143 Minor fix max_recall_time/max_messages initialization 2016-07-01 12:59:31 -07:00
Pragmatic Software
bdfd17612c Add is_active($channel) to determine if $channel is added and enabled 2016-07-01 12:58:29 -07:00
Pragmatic Software
2792a0cb0b Ensure lowercased parameters 2016-07-01 12:56:25 -07:00
Pragmatic Software
ff7141a3d6 Minor improvements 2016-07-01 12:55:52 -07:00
Pragmatic Software
35ef8a7af6 Update version 2016-06-25 18:09:53 -07:00
Pragmatic Software
dcacec18c6 Totally not a bug
Extremely minor rearrangement of interpreter logic so that `!commands` are
parsed before `command, botnick`. Totally not a bug at all. Pay no attention.
2016-06-25 18:09:47 -07:00
Pragmatic Software
bc2bbb8fde Update version 2016-04-10 18:35:18 -07:00
Pragmatic Software
b5c107bcbb Remove extraneous comma 2016-04-10 18:35:11 -07:00
Pragmatic Software
5d62f9e728 Update version 2016-03-15 12:45:17 -07:00
Pragmatic Software
3d90b8fbea Update version 2016-03-06 22:25:26 -08:00
Pragmatic Software
1e892f4ca1 Add silent option to countertriggers 2016-03-06 22:25:22 -08:00
Pragmatic Software
40c5ba8268 Update version 2016-02-25 00:51:55 -08:00
Pragmatic Software
b87db378cf Do not trigger ban evasion if mask matches banmask; use *!*@host instead of *!user@ip-mask for evasions 2016-02-25 00:51:52 -08:00