3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-18 00:22:36 +01:00
Commit Graph

660 Commits

Author SHA1 Message Date
Pragmatic Software
e10d81b769 lagchecker: use immediate elasped duration instead of average when no pong has been received yet 2011-12-12 00:31:31 +00:00
Pragmatic Software
44bef4bdb3 anti-flood: check for ban evasion on nick changes 2011-12-12 00:19:34 +00:00
Pragmatic Software
242a0d5dfc lagchecker: updated lagcheck bot command to use pong_received 2011-12-11 23:44:04 +00:00
Pragmatic Software
60ad02c9af lagchecker: include elapsed time from last ping sent in average if no pong yet received 2011-12-11 23:33:01 +00:00
Pragmatic Software
44ba3001cb Updated mode +q list tracking to updated freenode syntax; added ban whitelist (for evasion allowing) 2011-12-11 22:56:57 +00:00
Pragmatic Software
7ddf495f58 Updated version, removed -I from google search script shebang 2011-12-11 18:29:55 +00:00
Pragmatic Software
314eabaf3e Quotegrabs: added more information to getq (grab owner and timestamp)
Interpreter: remove leading and trailing whitespace from text to improve parsing
AntiFlood: Remove some log output, improve some other log output
2011-12-04 01:13:21 +00:00
Pragmatic Software
df42b242e4 Fixed unban command; misc bug-fixes 2011-10-31 19:56:08 +00:00
Pragmatic Software
4a552e2935 ban-tracker: dump more information when nickserv account matches existing ban 2011-02-17 23:49:42 +00:00
Pragmatic Software
a57394c762 factoids: oops, broke global channel searching, fixed (exact_channel restored) 2011-02-14 08:09:50 +00:00
Pragmatic Software
bede029261 factoids: probably adds/remove upper/lowercase keywords 2011-02-14 07:25:15 +00:00
Pragmatic Software
438b62552f anti-flood bantracker now more properly handles detection of proxying in multiple channels 2011-02-14 06:23:22 +00:00
Pragmatic Software
cb20ac607e anti-flood bantracker now more properly handles detection of proxying in multiple channels 2011-02-13 23:44:05 +00:00
Pragmatic Software
cdaf433966 updating factoids and quotegrabs data 2011-02-13 10:37:28 +00:00
Pragmatic Software
a0c11ac1d4 irchandlers: remove dumping of event on mode change 2011-02-13 09:07:11 +00:00
Pragmatic Software
ea198bcab1 irchandlers: now handles multiple modes; e.g. -bbb-o
chanops: moved flushqueues to inside loop
anti-flood/bantracker: now tracks quiets as well as bans
anti-flood: should now ban proxied hosts using a banned nickserv account -- untested
2011-02-13 09:05:48 +00:00
Pragmatic Software
b16b5f6275 anti-flood: nick changes now linked to same account via reference 2011-02-13 08:02:27 +00:00
Pragmatic Software
3c6288920e Added channel ban tracking 2011-02-13 05:07:02 +00:00
Pragmatic Software
b07306f530 IRC: wait for NickServ NOTICE before identifying 2011-02-12 05:30:44 +00:00
Pragmatic Software
9c17b4bc5a anti-flood: made some log messages more terse and readable 2011-02-11 06:52:43 +00:00
Pragmatic Software
c4ed12b0cb anti-flood, IRC, etc: added support for tracking NickServ accounts; refactored flood message history to be keyed on hostmask instead of nick; placed message history channels into its own sub-key 2011-02-11 02:46:35 +00:00
Pragmatic Software
1f4b6bba50 admin commands: added sl command to send raw commands to IRC server 2011-02-10 08:40:14 +00:00
Pragmatic Software
f76dcacca7 [module] c standard: improve output 2011-02-10 07:11:51 +00:00
Pragmatic Software
0655598d4a interpreter: improved long message truncation semantics 2011-02-10 07:10:50 +00:00
Pragmatic Software
bb05ab5274 compiler_vm: do not extract potential functions from within string literals or comments, if no main function is provided 2011-02-08 01:24:12 +00:00
Pragmatic Software
d28903f05f doc: updated PBot.html 2011-02-02 10:08:13 +00:00
Pragmatic Software
c8bc14183b compiler_vm: updated to run properly on Linux; untested on Cygwin 2011-02-02 07:46:03 +00:00
Pragmatic Software
80b50559bb compile_vm: added missing cc script 2011-02-01 02:47:16 +00:00
Pragmatic Software
346f291c29 doc: updated PBot.html documentation 2011-02-01 01:17:14 +00:00
Pragmatic Software
da8671a9bf version: updated VERSION.pm 2011-02-01 00:59:10 +00:00
Pragmatic Software
cd8791a854 factoids: better handling of triggering factoids in other namesapces; actions_with_args fixed 2011-01-30 07:18:28 +00:00
Pragmatic Software
845dff008e factoids: levenshtein search working again; rate-limit working again 2011-01-30 06:29:05 +00:00
Pragmatic Software
e4019895d3 factoids: added comments explaining namespace handling 2011-01-30 03:55:09 +00:00
Pragmatic Software
805832d977 pbot: allowed bot trigger to be customizable from pbot.pl; bot registry coming soon... 2011-01-30 03:22:00 +00:00
Pragmatic Software
cb2c17f636 factids: er, it is fact <location> <keyword> not fact <keyword> <location>, oops 2011-01-30 03:06:45 +00:00
Pragmatic Software
ffdecba6ee factoids: be more clear about how to choose factoids from another channel if ambiguous keyword; find_factoid searches channel namespace better 2011-01-30 03:03:31 +00:00
Pragmatic Software
221a698ecb factoids: if unknown keyword is triggered inadvertedly, .e.g. by referencing the bot by name, and the args dont look like a nick then do not spit out the levenshtein matches text 2011-01-30 02:44:56 +00:00
Pragmatic Software
514484a1e6 compiler_vm: do not automatically pull in #include prelude if #include detected in code 2011-01-29 20:50:44 +00:00
Pragmatic Software
3255bdcd93 factoids: updated database -- moved more POSIX factoids into ##posix namespace 2011-01-29 08:50:38 +00:00
Pragmatic Software
f92da35b34 factoids: updated database -- moved more factoids into more namespaces 2011-01-29 08:33:00 +00:00
Pragmatic Software
a6252da15a factoids: updated factoids database -- moved C-related factoids to ##c namespace 2011-01-29 05:03:18 +00:00
Pragmatic Software
9336428ea2 factoids: improved handling of factoids belonging to other channels; significantly 2011-01-29 01:21:17 +00:00
Pragmatic Software
65920bbe33 registerable: removed unnecessary array size check 2011-01-28 23:16:50 +00:00
Pragmatic Software
8d524089db anti-flood: added last offense timestamp; decrease offense counter once every 24 hours without offense 2011-01-27 06:17:39 +00:00
Pragmatic Software
31ae068202 factoid commands: removed unnecessary direct privmsg call 2011-01-27 01:51:16 +00:00
Pragmatic Software
5d0f2f5b98 updated VERSION.pm information 2011-01-27 01:23:47 +00:00
Pragmatic Software
bd3d69872e factoids: updated database 2011-01-27 00:51:01 +00:00
Pragmatic Software
1e74e36dd7 factoid commands: updated top20 to work with new factoid structure 2011-01-27 00:49:36 +00:00
Pragmatic Software
3cb15235e5 factoids: removed some uninteresting factoids from database 2011-01-26 22:48:16 +00:00
Pragmatic Software
8983a53732 pbot: slightly improved readability/flow of PBot.pm 2011-01-26 10:13:06 +00:00
Pragmatic Software
aaa261b66e pbot: correct default config directory 2011-01-26 10:04:55 +00:00
Pragmatic Software
d62e77c29d factoids: updating factoids; added some more action_with_args entries to existing factoids 2011-01-26 09:41:25 +00:00
Pragmatic Software
e6e89023a0 pbot: made PBot.pm more readable and concise 2011-01-26 09:40:08 +00:00
Pragmatic Software
1fcd6d07c1 config: updated example in admins file 2011-01-26 02:34:55 +00:00
Pragmatic Software
93658e0f6f modules: added compiler virtual machine scripts; use to set up your own environment for !cc/compiler_client.pl 2011-01-26 01:59:19 +00:00
Pragmatic Software
da84e6fd33 documentation: added doc folder, moved README to it, and copied Candide wiki page as PBot.html with some minor edits 2011-01-26 00:25:04 +00:00
Pragmatic Software
747392e23a updated factoids database; !help with arguments now displays link to command ala !h 2011-01-25 23:52:55 +00:00
Pragmatic Software
44b737a8c3 factoids: allow factset/factunset by regular users; factset/factunset now has list of metadata levels, and does ownership checking; added action_with_args metadata field to be substituted for action if factoid triggered with arguments 2011-01-25 22:40:22 +00:00
Pragmatic Software
45a2a66d0f Moved lag-checking code to LagChecker.pm; improved output of !lagcheck command 2011-01-24 23:56:55 +00:00
Pragmatic Software
a619f8fe9b factoids: Dont break factoids if used from stdin 2011-01-24 23:46:07 +00:00
Pragmatic Software
ed797ca5cf antiflood: change banfoward timeout first offense to start from 8 hours instead of 32 hours 2011-01-24 22:21:29 +00:00
Pragmatic Software
22c1673f3d factoids: dont remove trailing colon and/or comma from keywords in interpreter 2011-01-24 01:30:19 +00:00
Pragmatic Software
c29a694359 antiflood: do not check flood if lag is uninitialized or is significant 2011-01-22 09:45:16 +00:00
Pragmatic Software
1f45da7615 antiflood: do not do anti-flood if lag is two seconds or greater 2011-01-22 09:39:39 +00:00
Pragmatic Software
b11b660929 antiflood/pbot: added basic support for lag detection 2011-01-22 09:26:04 +00:00
Pragmatic Software
e3655749fd Added Net::IRC as PBot::IRC in order to support PONG events and possible future customisation 2011-01-22 08:35:31 +00:00
Pragmatic Software
c1439c5b7a quotegrabs: updated table 2011-01-22 08:32:22 +00:00
Pragmatic Software
d5ba966c53 antiflood: corrected check against double-banning chat floods 2011-01-22 04:42:38 +00:00
Pragmatic Software
d2640f8bcb antiflood: remove generate_random_number; ping timeouts/excess floods no longer treated aggressively, now treated same as other quit/parts 2011-01-22 04:17:35 +00:00
Pragmatic Software
e943790827 Updated factoids; added compiler_client.pl module 2011-01-20 01:16:08 +00:00
Pragmatic Software
023dd4bd09 ideone compiler: added run command to interactive editor 2011-01-20 00:55:45 +00:00
Pragmatic Software
0d5bf85f46 Added empty unban_timeouts file 2011-01-20 00:30:59 +00:00
Pragmatic Software
3bea3949a5 cstd module: fix issue with formatting 2011-01-20 00:21:54 +00:00
Pragmatic Software
9523600366 horoscope module: List valid signs of Zodaic 2011-01-20 00:19:58 +00:00
Pragmatic Software
b405f8b88e Quotegrabs: Lowercase nick when grabbing 2011-01-20 00:15:58 +00:00
Pragmatic Software
7eea052b36 Updated BotAdmins to use DualIndexHashObject 2010-08-15 08:25:35 +00:00
Pragmatic Software
0f47100dc9 Rate-limit now per-channel (sort of) 2010-08-14 09:45:58 +00:00
Pragmatic Software
dd8f0e1811 Adding gencstd.pl command used to generate HTML output from n1256.txt 2010-07-22 21:09:39 +00:00
Pragmatic Software
5b0aef5e31 Replaced ".*" with "the global channel" for factalias 2010-07-04 07:36:51 +00:00
Pragmatic Software
f53ebf7f88 factalias command adds to global if channel \!~ /^# 2010-07-04 07:26:43 +00:00
Pragmatic Software
96db60d0fa encode_entities for factoid URLs in HTML export 2010-07-01 05:54:04 +00:00
Pragmatic Software
3c9c5065a3 Updating factoids 2010-07-01 01:44:02 +00:00
Pragmatic Software
28a5d47af1 Exported factoids now have clickable links 2010-07-01 01:43:49 +00:00
Pragmatic Software
affb2c66d5 Remove trailing comma or colon from end of keyword if other characters exist before it; allow sentence-like arguments again 2010-06-30 12:18:25 +00:00
Pragmatic Software
31e53f2aff Allow question-marks in triggers if more than one is used; remove period from factoid names; return undef if factoid keyword is blank 2010-06-30 11:36:45 +00:00
Pragmatic Software
c6e48954c5 Levenshtein distance increased from 50% to 60%; Levenshtein searches all channels on unfound factoid 2010-06-30 10:59:50 +00:00
Pragmatic Software
def3b6eae7 Updating factoids 2010-06-30 05:42:50 +00:00
Pragmatic Software
83b43d97c3 Don't look for exact channel matter in Interpreter -- this way, commands like "\!what is the matter" will not attempt to create new factoids if they exist in global channel 2010-06-30 05:13:51 +00:00
Pragmatic Software
9fa3b865e9 Factoids now ignore arguments that do not look like a nick if the factoid doesn't take an argument -- fixes factoid triggers on sentences with bot's name; find_factoid searches global channel if $from is not a channel 2010-06-30 04:58:22 +00:00
Pragmatic Software
5f5cd6ec08 regex factoids now trigger properly 2010-06-30 03:48:13 +00:00
Pragmatic Software
1f82cbc285 Added extra semi-colon before return 0 to allow statements without semi-colons for lazy people; codepad.pl wasn't handling structs correctly because code and precode were backwards -- fixed 2010-06-30 01:21:46 +00:00
Pragmatic Software
a4cdb2204f Replaced ".*" with "global" in set list keys 2010-06-29 07:39:56 +00:00
Pragmatic Software
322314d869 Replaced ".*" with "global" in set/unset; replaced "," with ";" as comma 2010-06-29 07:31:27 +00:00
Pragmatic Software
d7f2583aac Prettier export headers; factrem output for not owner now includes channel 2010-06-29 07:14:26 +00:00
Pragmatic Software
380a2b322c Factoid HTML export table now fits width appropriately 2010-06-29 06:50:49 +00:00
Pragmatic Software
43089e4599 Cleaned up extra factoid groups; made export factoids a little prettier; renamed "default channel" to "global channel" throughout 2010-06-29 06:12:52 +00:00
Pragmatic Software
b869321eb4 Adding factoid in /msg now adds factoid to default channel; replaced "all channels" with "default channel" throughout factoid command output 2010-06-29 05:48:46 +00:00
Pragmatic Software
7aa724569e factfind now works; find aliases factfind for all channels 2010-06-29 04:33:27 +00:00
Pragmatic Software
58f19984bf Display join flood history only if joinwatch >= max joins, to reduce log spam 2010-06-29 00:59:47 +00:00
Pragmatic Software
fe6d08178b Anti-join flood bans for 2^5 hours for first offense instead of 2^7 hours (now uses 2^(4+number_of_offenses) hours as timeout) 2010-06-27 11:13:30 +00:00
Pragmatic Software
2d11d66b67 Replaced ago_exact with duration_exact in time comparison 2010-06-27 05:39:44 +00:00
Pragmatic Software
999d8ae4a8 Added Time::Duration to anti-flood join history 2010-06-27 05:36:58 +00:00
Pragmatic Software
521ae5c704 Anti-join flood bans for 2^5 hours for first offense instead of 2^7 hours (now uses 2^(4+number_of_offenses) hours as timeout) 2010-06-27 03:22:29 +00:00
Pragmatic Software
cb9fa000be Updating modules 2010-06-27 02:52:38 +00:00
Pragmatic Software
6d3fc7f628 find_factoid now takes exact_trigger parameter; this fixes confusion with regex factoids 2010-06-27 02:52:06 +00:00
Pragmatic Software
6824a61fd1 Updating version 2010-06-23 06:59:59 +00:00
Pragmatic Software
6c6fc503bb !chanset output appears in channel instead of /msg 2010-06-23 02:22:08 +00:00
Pragmatic Software
e0a2fc25e8 factchange usage output appears in channge instead of /msg; aliased change to factchange 2010-06-23 02:18:26 +00:00
Pragmatic Software
4d023df17d Added "ago" module 2010-06-23 01:23:38 +00:00
Pragmatic Software
a13d028e3e Lower-case hostmask and arguments to !unbanme 2010-06-22 03:01:02 +00:00
Pragmatic Software
818e09861c Added rate_limit to factoids 2010-06-21 15:23:46 +00:00
Pragmatic Software
c150e2018c Make usage output of some commands visible in channel instead of msg 2010-06-21 14:48:40 +00:00
Pragmatic Software
eabb249d79 !info and !show now require channel parameter 2010-06-21 14:41:39 +00:00
Pragmatic Software
65470a139b Added !fact command to allow calling factoids belonging to another channel 2010-06-21 13:54:27 +00:00
Pragmatic Software
562d265261 Adding factoid in a channel now creates that factoid in that channel instead of .*; info command now shows what channel factoid belongs to 2010-06-21 13:28:54 +00:00
Pragmatic Software
645310de15 factset command output appears in channel now (to show-off); added pragma as admin 2010-06-21 11:44:39 +00:00
Pragmatic Software
38e7de9f41 Correct bug from refactoring AntiFlood.pm previously; no longer crashes on pruning message history 2010-06-21 11:04:07 +00:00
Pragmatic Software
f9ab0c7e77 Added Time::Duration::ago() to !info command 2010-06-21 10:44:15 +00:00
Pragmatic Software
94076628a6 !foo is bar now works again for adding factoids; factoid commands in /msg are set to use channel .* 2010-06-21 03:19:41 +00:00
Pragmatic Software
52a6c7d125 Slightly refactored anti-join flood logic, handles QUITs better now 2010-06-21 03:18:39 +00:00
Pragmatic Software
73b8f68dfd Updating factoids with !test example in ##c, #pbot2 and any channel 2010-06-20 07:02:49 +00:00
Pragmatic Software
4be7fe3b34 Refactored Factoids to use DualIndexHashObject; added factset/factunset to set factoid meta-data; factoids now per-channel; slightly unfinished 2010-06-20 06:16:48 +00:00
Pragmatic Software
0bbd3a469c Added DualIndexHashObject; supports primary and secondary key grouping 2010-06-20 06:15:10 +00:00
Pragmatic Software
f1e227b64d Forward to ##stop_join_flood instead, since it has a candide-specific on-join msg and topic 2010-06-19 21:38:50 +00:00
Pragmatic Software
547087b81d Corrected join flood to get correct time distance between join messages 2010-06-19 19:19:56 +00:00
Pragmatic Software
e6f9296010 Removed extra logging information 2010-06-19 17:38:14 +00:00
Pragmatic Software
0c56527da0 Removed extra logging information 2010-06-19 17:37:48 +00:00
Pragmatic Software
41bb89eba2 Remove captcha from unbanme command 2010-06-18 11:12:55 +00:00
Pragmatic Software
fe96faded8 unban_timeouts is now a HashObject -- consequently, unban timeouts now save to and load from data file 2010-06-18 10:46:23 +00:00
Pragmatic Software
e32850aae2 Remove old ChanServ ban method and rename all quiet-related terms to ban-related terms since quiet now does +b instead of +q 2010-06-18 07:03:16 +00:00
Pragmatic Software
e3b351946a List keys and values when using set command without a key (but with an index) 2010-06-18 04:40:12 +00:00
Pragmatic Software
7c1bdecfcb Added missing use feature switch pragma 2010-06-18 04:17:30 +00:00
Pragmatic Software
24ef3b90e9 Use wildcard banmasks instead of original hostmasks 2010-06-18 04:15:28 +00:00
Pragmatic Software
f29202c99c Converted Channels.pm (and all modules using channels object) to use HashObject -- can now add/remove channels and set/unset channel meta-data as user commands 2010-06-18 03:21:36 +00:00
Pragmatic Software
be6e2ae8ab Significantly increase join flood ban timeout in order to reduce channel spam (made more feasible by !unbanme) 2010-06-18 00:49:50 +00:00
Pragmatic Software
af7d55da0d Ban-forward join floods to ##fix_your_connection 2010-06-16 02:21:44 +00:00
Pragmatic Software
16b9bba71c Added captcha and !unbanme command to allow unbanning from join flood 2010-06-16 01:55:29 +00:00
Pragmatic Software
50818a4b90 Don't infinitely try to /msg ChanServ to remove ops 2010-06-14 20:31:14 +00:00
Pragmatic Software
811e2e71d2 Ping timeout QUITs now properly added to each channel's message history 2010-06-12 07:48:01 +00:00
Pragmatic Software
f14924a619 Add missing message to message history for QUITs; skip joinwatch on non-channels; add max_messages and max_timeout to QUIT/PART in IRCHandlers 2010-06-12 05:50:38 +00:00
Pragmatic Software
6eeb2277f2 Remove useless if(x < 0) check when incrementing x 2010-06-12 04:44:49 +00:00
Pragmatic Software
40ed750a1f Ping timeout quits now handled 2010-06-12 04:38:38 +00:00
Pragmatic Software
ef3d9770ca Refactored AntiFlood account code -- much improved 2010-06-12 04:27:58 +00:00
Pragmatic Software
347bb86bac Correct variable $ch to $channel 2010-06-12 01:52:11 +00:00
Pragmatic Software
a70d8a1fd5 Antiflood: deal with ping timeout quits aggressively 2010-06-12 01:49:49 +00:00
Pragmatic Software
4242eecf43 Correct joinwatch behavior for netsplits; remove joinwatch behavior for "Changing host" 2010-06-11 08:01:32 +00:00
Pragmatic Software
0ce7f52725 Correct joinwatch for new entries to message history 2010-06-11 04:26:20 +00:00
Pragmatic Software
da7eb0b111 Make join flood more robust 2010-06-11 04:03:36 +00:00
Pragmatic Software
b7cd3cfbfc Improving handling of join flooding -- decrement join count for netsplits and host changes; increase ban duration based on offense count; etc 2010-06-10 20:26:09 +00:00
Pragmatic Software
363dd1fc29 Show anti-flood timestamp comparisons for join floods only (to reduce log traffic) 2010-06-10 19:20:12 +00:00
Pragmatic Software
a64d62b549 Updating factoids 2010-06-06 09:13:17 +00:00
Pragmatic Software
49bbf5c73e Temporary hack to skip hostmask entry when iterating channels in message history, will fix soon 2010-06-06 07:22:23 +00:00
Pragmatic Software
8a5c7a99c2 Remove debugging print statements from AntiFlood.pm 2010-06-06 05:22:07 +00:00
Pragmatic Software
96be537c39 AntiFlood now detects based on *!user@host instead of nick 2010-06-06 05:19:31 +00:00
Pragmatic Software
96fd2d7c7a Remove FLOOD_JOIN and FLOOD_CHAT from PBot.pm 2010-06-06 04:41:15 +00:00
Pragmatic Software
8c4d01d83a Update version 2010-06-06 00:36:01 +00:00
Pragmatic Software
7bcfa52b25 Increase join flood detection to 4 joins within 30 minutes without a message; set join_watch -= 2 on join ban to allow two join attempts afterwards in order to give them a chance to rejoin 2010-06-05 17:45:41 +00:00
Pragmatic Software
4b342be290 Add join flood protection 2010-06-05 06:07:15 +00:00
Pragmatic Software
7df2346d01 Remove NewModule.pm skeleton file 2010-06-05 04:41:37 +00:00
Pragmatic Software
b1c2a12500 Move $VERSION out of PBot.pm and to its own VERSION.pm module 2010-06-05 04:34:14 +00:00