Commit Graph

808 Commits

Author SHA1 Message Date
Pragmatic Software b1cb9fa200 Reduce nick-flood limit to 3 within 30 minutes instead of within 1 hour 2014-05-16 22:10:55 +00:00
Pragmatic Software 2e2188532c Correct logic for Guest nick-change allowance 2014-05-16 05:58:21 +00:00
Pragmatic Software a7681c36cb Don't enforce nick anti-flood for services-mandated changes to Guest nick 2014-05-16 05:53:39 +00:00
Pragmatic Software 591dbd70ab Set generic default export websites in pbot.pl 2014-05-16 04:11:25 +00:00
Pragmatic Software cd54dcb573 Track and handle nick-change events; add anti-nick-flood detection 2014-05-16 00:48:46 +00:00
Pragmatic Software 1f242aeec4 Detect and handle KICK events 2014-05-15 15:49:56 +00:00
Pragmatic Software f8fc04f6e5 Distinct JOIN and DEPARTURE events to improve join-flood detection, etc 2014-05-15 01:39:33 +00:00
Pragmatic Software 92b4ef00cf Improve `recall` command with better capabilities
The nick field is now optional and Getopt::Long is used to accept targeted
options for channel/history, allowing recalls by text/channel for any nick
which is useful when you know what text the message contained but not who
said it.
2014-05-14 21:23:59 +00:00
Pragmatic Software dad69fb0c8 Use AutoInactiveDestroy attribute to fix SQLite I/O error due to DBH handle being destroyed when forked process exits 2014-05-13 20:14:38 +00:00
Pragmatic Software ae6f3a6b3d Don't skip begin_work() if commit() fails 2014-05-13 15:18:33 +00:00
Pragmatic Software 11efde4d0d Comment out some verbose debugging log statements 2014-05-13 15:09:29 +00:00
Pragmatic Software 54ac8ec0ef Convert message history to use SQLite database instead of Perl hashtable
Added MessageHistory.pm and MessageHistory_SQLite.pm.  May eventually port
and add MessageHistory_Hashtable.pm as was done with Quotegrabs, but this is
not particularly high on the todo list.

Antiflood.pm has been updated to use the new MessageHistory API.

The `recall` command has been moved from Quotegrabs into MessageHistory.  It
also now has the ability to ignore messages containing the recall command
itself, for improved usability.

Likewise, the `grab` command will now ignore previous `grab` commands when
grabbing by regex in order to prevent accidentally grabbing previous grab
attempts.

The `join` and `part` commands have been improved to accept multiple channels,
and `part` will use the current channel if none is provided.
2014-05-13 10:15:52 +00:00
Pragmatic Software ae1842e3db compiler_vm: Improve a couple of output sanitization regexs 2014-05-08 13:07:24 +00:00
Pragmatic Software 62d93c76c3 Remove left-over debugging print statements 2014-05-06 05:17:31 +00:00
Pragmatic Software 239e3de8ea Quotegrabs.pm now uses quotegrabs_db API for interfacing with storage backend
Two quotegrabs_db backends are now availble:

  * Quotegrabs_Hashtable.pm: the original hashtable implementation
  * Quotegrabs_SQLite.pm: the new SQLite implementation

Quotegrabs_SQLite.pm is now the default quotegrabs_db backend.

This was done to reduce the memory footprint of the bot by not needing to
keep the entire quotegrabs table in memory any longer.

A similiar change will be coming soon to the Factoids table as well as the
MessageHistory table.
2014-05-06 05:15:27 +00:00
Pragmatic Software 2c2b2c2e4b Truncate all messages beyond MAX_NICK_MESSAGES 2014-05-05 05:18:59 +00:00
Pragmatic Software af447c2614 More nickometer tweaks 2014-05-02 03:57:19 +00:00
Pragmatic Software 8e07eb300e compiler_vm: add -Wshadow; support -include 2014-05-02 00:43:42 +00:00
Pragmatic Software c1fa37f982 Tweaks to nickometer module 2014-05-01 23:20:15 +00:00
Pragmatic Software a0b0cb8a74 Add nickometer module 2014-05-01 03:40:56 +00:00
Pragmatic Software 6de1023ee8 Use Getopt::Long to parse `rq` options 2014-04-30 21:37:28 +00:00
Pragmatic Software cebcafba70 Do not allow RE2 to fallback to PCRE 2014-04-29 17:00:51 +00:00
Pragmatic Software 7fa458ab34 Do not expand `me` or remove trailing punctuation for factset/factchange 2014-04-29 04:05:20 +00:00
Pragmatic Software 595e6a34d2 Use DFA regex engine on user-supplied regexs to avoid potential denial-of-service attacks 2014-04-28 17:20:01 +00:00
Pragmatic Software b35382109c Show random quotegrab: if nick_search begins with "#", assume they meant to specify channel_search 2014-04-28 01:52:49 +00:00
Pragmatic Software 96c57d80e5 Minor updates to various modules 2014-04-26 15:22:46 +00:00
Pragmatic Software db66a47257 Update quotegrabs and factoids data 2014-04-26 15:21:00 +00:00
Pragmatic Software ba8dc5195a Update PBot.html documentation 2014-04-26 15:20:38 +00:00
Pragmatic Software f50fec1f90 Fix failed substitution of undefined variables 2014-04-26 15:19:55 +00:00
Pragmatic Software 76cd4965f1 compiler_vm: allow ()'s around function identifiers; e.g. int (main)(void) {} 2014-04-26 15:17:11 +00:00
Pragmatic Software fc1e372908 Update C-Faq module to use latest questions and links 2014-04-22 15:10:10 +00:00
Pragmatic Software 6dabff19bb Fix ban evasion kicking 2014-04-21 07:26:06 +00:00
Pragmatic Software 8cd59b25da Fix chanop command execution, kick ban evaders 2014-04-19 10:38:16 +00:00
Pragmatic Software b642460d84 Don't allow spaces in factoid keywords 2014-04-19 10:37:03 +00:00
Pragmatic Software 030fed38f2 Allow kicking from private message 2014-04-19 10:35:27 +00:00
Pragmatic Software b3ab3bae8f Remove extraneous debug logging statements 2014-04-19 10:34:21 +00:00
Pragmatic Software f003ff1178 Add `unquote_spaces` factoid module metadata to remove escaped quotes from quotemeta, and allow g modifier to modulelauncher_subpattern 2014-04-19 10:32:49 +00:00
Pragmatic Software 08e300bd54 compiler_vm: bump "Same output" length case to 22 to allow repetitions of "Success (no output)" 2014-04-07 07:24:14 +00:00
Pragmatic Software f347c6d1e3 Update man.pl to use newer manpage, and minor formatting fixes 2014-04-07 05:12:00 +00:00
Pragmatic Software 7367e4f18c Include `action_with_args` in factoids export 2014-04-07 04:50:00 +00:00
Pragmatic Software 736056b586 compiler_vm: Don't display "Same output" unless length of output is greater than 10 characters 2014-04-03 07:54:35 +00:00
Pragmatic Software 8a7c539e0f compiler_vm: print "Same output" only if same output is within 10 minutes of last snippet otherwise print actual output again 2014-04-03 07:47:19 +00:00
Pragmatic Software b2544d9d5a compiler_vm: remember last output per channel and print "Same output." if the current output matches the last output 2014-04-02 23:48:43 +00:00
Pragmatic Software 4e8aa560e8 Use proper letter-casing of nick in recall command results 2014-04-02 01:58:35 +00:00
Pragmatic Software 1ec463f021 compiler_vm: Remember last keyword when chaining together "and" statements in editor
This allows the more natural "replace 'a' with 'b' and 'c' with 'd'" syntax
rather than the previous syntax of "replace 'a' with 'b' and replace 'c' with 'd'"
2014-04-02 00:23:14 +00:00
Pragmatic Software 474f7ed168 Remove compiler_vm ability to execute .gdbinit commands 2014-03-24 15:37:54 +00:00
Pragmatic Software f13adc1500 Fix derp in math.pl 2014-03-24 03:10:08 +00:00
Pragmatic Software cb6d811ba2 Minor improvements to math.pl 2014-03-24 03:05:48 +00:00
Pragmatic Software 2a933bff87 Improve math.pl to support specific math functions (e.g., sqrt, etc) 2014-03-24 02:25:37 +00:00
Pragmatic Software ee3fddf1eb expand_macros.pl doesn't require a nick argument any longer, correct ARGV count 2014-03-22 18:52:54 +00:00
Pragmatic Software 8338b009d4 Properly handle preserve-whitespace; use modulelaucher_subpattern regex to correct whitespace 2014-03-18 14:55:34 +00:00
Pragmatic Software e728276aca Add remove_reader() to SelectHandler and remove unnecessary foreground check from StdinReader's initialize() 2014-03-16 01:47:16 +00:00
Pragmatic Software edd507b2e0 Show channel in quotegrabs getq command 2014-03-15 08:12:52 +00:00
Pragmatic Software 2faeeb2de8 Add -nick/-channel/-text options to quotegrabs rq command (also retaining original syntax) 2014-03-15 08:07:05 +00:00
Pragmatic Software f998f974c0 Truncate module launcher piped result 2014-03-15 01:53:33 +00:00
Pragmatic Software 36b7e1fa6f Improve handling of interpreter result and module execution 2014-03-14 10:05:11 +00:00
Pragmatic Software 4a110848e9 Add SelectHandler class to register callbacks for selecting and reading handles; updating StdinReader to use SelectHandler 2014-03-14 05:51:15 +00:00
Pragmatic Software 1831d0775d anti-flood: Enter abuse now requires 10 seconds or less between messages 2014-03-13 12:00:28 +00:00
Pragmatic Software 087c819069 anti-flood: Add enter-key abuse tracking; use duration() for displaying ban-lengths; save message history after prune 2014-03-12 22:13:05 +00:00
Pragmatic Software f2c556e5c7 Add utility to view/analyze message_history off-line 2014-03-11 00:05:58 +00:00
Pragmatic Software fe020443bb anti-flood: Set hostmask to last known nickserv account when checking accounts until nick without account is found 2014-03-10 08:15:33 +00:00
Pragmatic Software 8afb73acc2 Fix "argument isn't numeric" warning 2014-03-10 06:39:30 +00:00
Pragmatic Software bd3fa4dee3 anti-flood: Improve linking of accounts 2014-03-10 06:28:56 +00:00
Pragmatic Software e808286f24 anti-flood: Now tracks if a user uses different NickServ accounts, and remembers each one for ban-evasion detection 2014-03-10 03:50:02 +00:00
Pragmatic Software e6e02259e4 anti-flood: execute whois command more smartly 2014-03-09 07:15:50 +00:00
Pragmatic Software 3bd73c4866 Improvements to anti-flood message history storage and maintenance 2014-03-09 06:56:48 +00:00
Pragmatic Software 17ed2fb64a Remove extranous ) typo in "Displaying text" string 2014-03-07 16:51:18 +00:00
Pragmatic Software 80a29256ed Fix undefined variable $from when issuing commands from stdin 2014-03-07 16:50:35 +00:00
Pragmatic Software 4bcd485c2e Anti-flood: remove some log messages to reduce noise; fix +q $a:account detection 2014-03-07 16:48:56 +00:00
Pragmatic Software 765e907aa7 Remove single-quotes from found-one-factoid keyword/action 2014-03-07 00:57:08 +00:00
Pragmatic Software bff786666e compiler_vm: Add more standard headers to default set of includes 2014-03-06 21:52:44 +00:00
Pragmatic Software bc261e0965 compiler_vm: Add ability to show/diff/copy another channel's snippet 2014-03-05 19:58:46 +00:00
Pragmatic Software 8cecad56d2 Minor refactor of HashObject initialize sub 2014-03-05 19:30:37 +00:00
Pragmatic Software 21bec3b1e4 Update quotegrabs data 2014-03-05 14:42:44 +00:00
Pragmatic Software e1c4c30743 Slight rewording of join-flood notification message to improve awareness of automatic unbanning 2014-03-05 14:32:24 +00:00
Pragmatic Software d080a6ff89 factshow command now shows module action 2014-03-05 14:30:02 +00:00
Pragmatic Software 42c2554655 Add chanlist command to list channel data 2014-03-05 14:28:58 +00:00
Pragmatic Software a5ae7478e1 compiler_vm: Add $channel argument to separate snippet history into per-channel/nick files 2014-03-04 21:40:51 +00:00
Pragmatic Software 921c9917a5 Add $channel special variable for factoids/modules that expands to $from parameter 2014-03-04 21:40:13 +00:00
Pragmatic Software 2a4c1bafd1 Don't ban if $a:account matches account 2014-03-04 10:50:12 +00:00
Pragmatic Software c1f87bf177 Don't show regex escapes in factfind output 2014-03-04 10:48:08 +00:00
Pragmatic Software ec6f146fa6 Don't show regex escapes in factfind output 2014-03-04 10:47:43 +00:00
Pragmatic Software 62c9477a73 Update factoids (use add_nick for prec/paren, etc) 2014-03-04 10:45:36 +00:00
Pragmatic Software 818ad29914 Remove need to pass nick as command-line parameter to expand/paren modules (use add_nick factoid metadata) 2014-03-04 10:43:28 +00:00
Pragmatic Software 9b2c374bbb Use export_site properly in Quotegrabs.pm 2014-03-03 10:33:34 +00:00
Pragmatic Software f6c75f2b4f Factoids and Quotegrabs HTML exported tables can now be filtered 2014-03-03 09:24:33 +00:00
Pragmatic Software f4275a4cc8 compiler_vm: more compiler output beautification 2014-03-01 20:25:42 +00:00
Pragmatic Software 4d0e23243b compiler_vm: minor beautification of compiler diagnostic output 2014-03-01 14:42:08 +00:00
Pragmatic Software 80a7a82221 Remove extranous flushall from compiler watchdog 2014-02-28 07:52:28 +00:00
Pragmatic Software e72a8c04a2 Remove use of compiler output merger 2014-02-28 07:48:27 +00:00
Pragmatic Software 7a99175bd7 compiler_vm updates
- make compiler_output_merger.pl more resistant to being killed
  - support gcc 4.9.0's -fdiagnostics-show-caret 
    (disable in channel, enable in paste)
  - force a newline to be added to program output to prevent output
    from being buffered by output merger
2014-02-27 16:31:31 +00:00
Pragmatic Software aa00540c8d compiler_vm: Hack to ensure gdb and prog streams are output in the correct order 2014-02-25 11:49:21 +00:00
Pragmatic Software d66d3d2a31 compiler_vm: Add constants to easily customize time-out and nographic options in compiler_server.pl 2014-02-25 11:47:57 +00:00
Pragmatic Software 0b2b18d93a compiler_vm: separate program output and gdb output in watchdog to prevent crossing the streams 2014-02-25 05:40:44 +00:00
Pragmatic Software 91a9c69fa5 Interpreter: check for {} code command before regular commands 2014-02-25 03:47:12 +00:00
Pragmatic Software f6edfce6b4 compiler_vm: Use random fortune instead of Ipsum for default input 2014-02-24 07:25:50 +00:00
Pragmatic Software 6e3dc6dba2 Add `add_nick` metadata key to tell modules to prepend nick to resulting text; unquote all spaces in module arguments 2014-02-24 00:58:00 +00:00
Pragmatic Software 7388bf9cfc Add heartbeat logic to compiler server to detect when vm is booted (prevents unnecessary vm restarts) 2014-02-23 00:56:51 +00:00
Pragmatic Software 38fb275234 Fix error message for bad search term within paragraph in c99std/c11std 2014-02-22 02:42:25 +00:00
Pragmatic Software 4c4bdd9188 Show nick before channel in `rq` command when no quotes found 2014-02-10 18:07:34 +00:00
Pragmatic Software 6d8fac71fb Improve output when no matching quotes found for `rq` command 2014-02-10 18:04:05 +00:00
Pragmatic Software 29316b23ba Update c2english with -f force option, and hide certain errors 2014-02-05 01:13:16 +00:00
Pragmatic Software 5a61f57f3c Use Storable to save/load message history hash
Reuse config_dir/data_dir variable in pbot.pl
2014-02-05 01:10:56 +00:00
Pragmatic Software 0f2616a552 Update paren module to handle ternary conditional operator 2013-12-23 08:48:24 +00:00
Pragmatic Software 8adc766dc4 Improve paren/prec module 2013-12-01 13:36:21 +00:00
Pragmatic Software 9c1a077d2e Allow expand_macros.pl to #include stuff to expand 2013-11-28 05:36:41 +00:00
Pragmatic Software b042e073db Remove #include from expand_macros.pl input 2013-11-28 05:25:54 +00:00
Pragmatic Software d5d4d503b2 Update factoids (added expand) 2013-11-28 05:12:39 +00:00
Pragmatic Software 2323bb89bb Add expand_macros.pl module 2013-11-28 05:11:54 +00:00
Pragmatic Software de89ca61a2 Add n1256.out and n1570.out 2013-11-18 15:00:14 +00:00
Pragmatic Software 489ed21aa0 Add workaround to ensure $##stop_join_flood forwards are removed from unban_timeouts if non-existent 2013-11-17 17:06:54 +00:00
Pragmatic Software ece84c23f8 Remove left-over nick/host lower-casing code 2013-11-17 17:05:20 +00:00
Pragmatic Software ac6d913290 Update parens.py with edk's simplification of parentheses verbosity logic 2013-11-14 17:33:11 +00:00
Pragmatic Software 936d45e04e Improve verbosity of parenthesized precedence in parens module 2013-11-14 15:21:52 +00:00
Pragmatic Software f618b29282 Do not lowercase hostmask/nicks in message history (quotegrab now preserves nick case) 2013-11-14 06:35:40 +00:00
Pragmatic Software d83fbf83db Update factoids and quotegrabs 2013-11-14 06:34:20 +00:00
Pragmatic Software 805215ce81 Add paren.py module (shows precedence of expressions by adding parentheses)
TODO: Add 'show_nick' factoid/module key so nickname logic doesn't need to be
      added to module sources
2013-11-14 06:29:22 +00:00
Pragmatic Software a9adbcf498 Support `+` in `recall` command to recall multiple messages, similiar to `grab` 2013-10-27 07:34:00 +00:00
Pragmatic Software 97261637f1 Add `recall` command 2013-10-26 23:22:25 +00:00
Pragmatic Software 274193bed7 Allow quote grabbers to delete their own grabs 2013-10-26 02:39:54 +00:00
Pragmatic Software b7b9ce76ca Fix potential infinite loop due to not restoring pos value after regex 2013-10-25 07:33:43 +00:00
Pragmatic Software e1588491e3 Improve error messages for `grab` command 2013-10-22 21:30:56 +00:00
Pragmatic Software 1155205f0e Bot now keeps message history for itself -- can now be grabbed for quotegrabs 2013-10-22 18:57:08 +00:00
Pragmatic Software 111847340e Make c2english output slightly more clean 2013-10-19 18:42:05 +00:00
Pragmatic Software c6e67200c1 Run code through gcc for syntax checking before attempting to parse to english 2013-10-19 17:56:43 +00:00
Pragmatic Software aeec4fb2f5 Restore missing "$keyword is $result" when triggering factoid without $ref_from 2013-10-14 17:22:06 +00:00
Pragmatic Software a4def7d653 Fix potential race-condition check-ban issue where a server could send a message immediately after someone is banned, causing them to be falsely detected as evading a ban 2013-10-14 11:53:34 +00:00
Pragmatic Software 6bb3e86f33 Minor improvements to html export css so links aren't as ugly 2013-10-13 10:56:01 +00:00
Pragmatic Software d374fdfc01 Skip channels without factoids in html export 2013-10-13 10:23:49 +00:00
Pragmatic Software b6a09e50e3 Add table of contents to quotegrabs html export 2013-10-13 10:23:20 +00:00
Pragmatic Software 7cf8e91ab2 Fix export command factoids/quotegrabs argument 2013-10-13 10:14:20 +00:00
Pragmatic Software 32385ec691 Fix wrong quote-type for #include derp 2013-10-12 16:35:23 +00:00
Pragmatic Software c91a8e5c3d Fix /say substitution derp that allowed "/say /msg foo bar" to actually invoke /msg rather than saying "/msg foo bar" 2013-10-12 15:06:27 +00:00
Pragmatic Software 02ebf106a8 Add table of contents to factoids html export 2013-10-12 13:52:12 +00:00
Pragmatic Software 37dca64465 Add missing closing html tags to quotegrabs html export 2013-10-12 13:36:36 +00:00
Pragmatic Software aab27f4797 Improve factoids export to use tablesorter 2013-10-12 13:35:57 +00:00
Pragmatic Software fd12d228d8 Improve author(s) column in quotegrab html export 2013-10-12 11:00:29 +00:00
Pragmatic Software 3d233dcdfe Add tablesorter javascript library and related css 2013-10-12 04:39:24 +00:00
Pragmatic Software ba5042259f Improve quotegrab export and touch-up database 2013-10-12 04:35:01 +00:00
Pragmatic Software 701e554ecf Improve quotegrab html export with sortable columns 2013-10-11 18:17:07 +00:00
Pragmatic Software 174e7f71e4 Fix issues with quoted literals and #include statement 2013-10-11 14:50:29 +00:00
Pragmatic Software 272e13236f Preserve empty lines in source 2013-10-07 05:03:03 +00:00
Pragmatic Software bd9e53e77a Split multi-context grabbed nicks to show first nick when displaying such quotegrabs 2013-10-04 22:14:16 +00:00
Pragmatic Software 2cb74ecf95 Add functionality to grab multiple nicks in one quotegrab 2013-10-04 04:55:45 +00:00
Pragmatic Software dc1390fca2 Improve formatting 2013-09-16 10:35:32 +00:00
Pragmatic Software 7decfdf28a Correct devalidation and QUIT event issues 2013-09-14 01:56:00 +00:00
Pragmatic Software 23d2e57527 Added ability to lock factoids to prevent editing; improved detection of ban-evasion by devalidating accounts on part/quit and devalidating existing accounts that match a banmask when a ban occurs 2013-09-13 21:48:19 +00:00
Pragmatic Software d739415a29 Fix show/undo/replace/etc (need args stripped first); undo once again updates last-code record 2013-09-13 11:32:15 +00:00
Pragmatic Software 2720071dbd compiler_vm:
Add compiler flags section to web-pasted output
  Clean up output section in web-pasted output
  Save cc-specific flags (-paste, -nomain, etc) to last-code
2013-09-13 11:03:50 +00:00
Pragmatic Software 8d882a4240 compiler_vm: -paste and -nomain arguments no longer need to be first arguments; fix issue with `replace` command 2013-09-13 09:29:24 +00:00
Pragmatic Software a6a3129171 Preserve comments in code/paste 2013-08-27 12:49:14 +00:00
Pragmatic Software 522b9770dd compiler_vm:
Fix comment stripping logic regarding C89 comments versus C99 comments in code like `int i = 10 //**/ 2\n;`
  Code history now includes argument flags
  Improved regex parsing of diff tags
2013-08-27 00:42:17 +00:00
Pragmatic Software 4adedc2a90 Show "No difference." when code is the same in `cc diff` 2013-08-24 15:01:31 +00:00
Pragmatic Software cb74a9be1e Improved matching of tags in `cc diff` to be less greedy 2013-08-23 22:26:32 +00:00
Pragmatic Software e6ae49fd4f Improve handling of spaces in `cc diff` 2013-08-23 18:26:43 +00:00
Pragmatic Software 36e48cb703 Added `cc diff` command 2013-08-22 20:41:54 +00:00
Pragmatic Software 0e783365d1 Misc updates to modules/compiler_vm 2013-08-16 17:28:17 +00:00
Pragmatic Software a6f608cda5 Don't remove ban_timeout on -q (only +b/-b are tracked); use wildcard host when banning for evasion instead of specific host 2013-08-06 19:56:28 +00:00
Pragmatic Software 2a332d6415 Improve ban-evasion detection 2013-08-03 17:26:49 +00:00
Pragmatic Software edff4b6c4c Update ref_user to use full hostmask instead of just nick; add edited_by/edited_on to factoid metadata levels hash 2013-07-31 13:48:50 +00:00
Pragmatic Software d2d5695dda Add edited_by/edited_on fields when changing factoids; Use full hostmasks instead of just nick for owner/edited_by fields when adding/editing factoids 2013-07-31 13:29:37 +00:00
Pragmatic Software 67e0833f93 Bug-fixes to recent commits 2013-07-30 13:12:21 +00:00
Pragmatic Software 2509bcec64 Fix splitting of IPv6 masks in modes in IRC/Connection.pm
Include channel in "Unbanning ..." message in unban_user
Set target_nickserv_account if accounts match in check_bans
2013-07-30 09:50:59 +00:00
Pragmatic Software 7f2cefea7a Don't check for ban evasion on PARTs 2013-07-28 14:12:57 +00:00
Pragmatic Software d170f75924 Improve ban evasion detection 2013-07-28 10:31:12 +00:00
Pragmatic Software 416115f12f Ban timeouts hash converted to DualIndexHashObject to properly group masks by channels 2013-07-24 12:35:40 +00:00
Pragmatic Software 58d45480a5 Using `grab` command without arguments now properly displays help text 2013-07-24 12:34:13 +00:00
Pragmatic Software 553eceeb77 Fix interpretation of /me commands 2013-07-24 12:33:19 +00:00
Pragmatic Software 2a62729fcc Fix potential infinite loop in "replace all"; show line numbers in diagnostics if using "-paste"; other misc fixes 2013-06-17 22:25:05 +00:00
Pragmatic Software 8d6c2587a8 Show number of matching quotes only if more than one match 2013-06-09 00:04:20 +00:00
Pragmatic Software 0f234734b8 Prepend "/me" to ACTION messages; update Quotegrabs to recognize "/me" messages 2013-06-04 17:09:30 +00:00
Pragmatic Software 8586038f03 Misc updates 2013-06-03 17:04:24 +00:00
Pragmatic Software dc52430044 Add SSL support, and other misc updates 2013-02-25 02:27:24 +00:00
Pragmatic Software abd9fafb87 Update factoids and quotegrabs database 2013-02-13 07:23:01 +00:00
Pragmatic Software 57166ff734 compiler_vm: Handle --version flag 2013-02-05 11:14:19 +00:00
Pragmatic Software 3d492ed76b Allow function argument list to be empty; e.g., int main() { code } 2013-02-01 23:35:11 +00:00
Pragmatic Software e846f24716 Rename -naked to -nomain; fix issue with function prototypes 2012-12-30 08:14:27 +00:00
Pragmatic Software 9205736b3f Don't add {}'s around single statements following if/for/etc; add -naked flag to prevent wrapping code with a main function 2012-12-29 16:19:51 +00:00
Pragmatic Software e93ac26062 compiler_vm: Warn about #defines not terminated with \n 2012-11-21 19:01:10 +00:00
Pragmatic Software d5e5f2c728 Reposition `*` character in function regex to be consistent 2012-11-19 15:57:54 +00:00
Pragmatic Software c8d77ed230 Replace `A-Z0-9_` in function regex with `\w` to slightly improve readability 2012-11-19 15:52:07 +00:00
Pragmatic Software a6a2b3eeb3 Minor clean-up of previous commit to remove unnecessary substitutions 2012-11-19 15:45:13 +00:00
Pragmatic Software 1d7791d9a5 compiler_vm: Improve extraction of function parameters containing parentheses 2012-11-18 19:18:56 +00:00
Pragmatic Software 3f771df8bc compiler_vm: added -paste flag to send formatted source/output to paste site and show link instead of output; e.g. `cc -paste <code>` --> http://somepastesite.com 2012-11-14 18:36:04 +00:00
Pragmatic Software 39a38b58f8 Triggering non-existent factoids now attempts to factfind (for keywords and text) before trying a levenshtein closest match (of keywords) 2012-11-04 20:42:38 +00:00
Pragmatic Software b8d2d0797e compiler_vm: Show output from program when using `paste` command
google search: Show "No results found" if no results found
c99std/c11std: Minor clean-up of output
2012-11-02 22:08:20 +00:00
Pragmatic Software 208f89837f Improve handling of auto-op and op-commands on per-channel basis
Restore functionality to log out admins when they part/quit
Improve display of quit messages in log
2012-10-27 21:03:10 +00:00
Pragmatic Software f16dedf680 compiler_vm: add script to mount/umount qcow2 for editing 2012-10-24 12:29:00 +00:00
Pragmatic Software 4602c3b732 compiler_vm: Pass host date to guest
Replace "Killed" with "[Killed]"
             Don't print empty '' after unprintable char values
             Set default language in compiler_client.pl to C11
2012-10-24 12:26:18 +00:00
Pragmatic Software 7f8b39d20a compiler_vm: Limit cpu usage and kill processes using excess cpu 2012-10-07 17:48:18 +00:00
Pragmatic Software f61bb61aeb Channels: Properly check for arguments to chanadd/chanrem
HashObject: Fix potential divide by zero
compiler_vm: Limit cpu usage and kill processes using excess cpu
             Unbuffer stdout
2012-10-05 01:59:04 +00:00
Pragmatic Software 65660625c2 Added dice_roll.pl module, and updated others 2012-09-18 01:32:07 +00:00
Pragmatic Software bf91c67346 compiler_vm: improve parsing/function extraction 2012-09-17 07:12:16 +00:00
Pragmatic Software 2b5ff48a4c Interpreter: tell <nick> about <command> now case-insensitive
AntiFlood: Correct use of ignore list
IgnoreList: Ignoring user without args now permanent instead of 5 mins
            Save time when ignore expires instead of seconds remaining
            Improve output of `ignore list` command for readability
2012-09-06 10:09:44 +00:00
Pragmatic Software a0bcdfef2f compiler_vm: improve parsing of cpp and functions (properly handle \n) 2012-09-03 18:48:47 +00:00
Pragmatic Software 7ed26f928e compiler_vm: fix \n after #include directives 2012-09-03 07:02:17 +00:00
Pragmatic Software a4cf4136ee compiler_vm: Improve handling of \n in quoted literals 2012-09-01 05:20:01 +00:00
Pragmatic Software ccf1d35a54 Improvements in interpreter; tell <nick> about <command>; etc 2012-08-23 22:50:07 +00:00
Pragmatic Software 09cb762c6f compiler_vm: update client to remove duplicate warnings/infos; typeof('a') should be int; misc output clean-ups 2012-08-18 03:28:10 +00:00
Pragmatic Software da3e05bc72 Prevent gcc from optimizing away gdb() call 2012-08-16 01:17:28 +00:00
Pragmatic Software 6b35dc210c Skip message containing grab command when grabbing own nick; match brackets for compiler-block; etc 2012-08-12 16:41:38 +00:00
Pragmatic Software cb770d81ac Grab most recent quote by regex instead of oldest first 2012-08-01 11:06:01 +00:00
Pragmatic Software 876d9fb5c6 Improved grab command to accept regex for history 2012-08-01 09:57:43 +00:00
Pragmatic Software 52b23418e2 Updated factoids and quotegrabs data 2012-07-22 19:27:37 +00:00
Pragmatic Software 8a70c06096 Misc bug fixes and tweaks 2012-07-22 19:22:30 +00:00
Pragmatic Software dad1bf978e compiler_vm: improved function extraction (missed a spot) 2012-03-21 16:02:02 +00:00
Pragmatic Software 0e957ba414 compiler_vm: improved function extraction 2012-03-21 15:58:07 +00:00
Pragmatic Software 2fc11ea1fd compiler_vm: disregard this commit 2012-03-21 15:54:43 +00:00
Pragmatic Software 5066f348a1 compiler_vm: added support for splint 2012-03-12 03:33:54 +00:00
Pragmatic Software b30216d8ec compiler_vm: restored stdin input, improved error output, reset vm only on timed-out for improved speed 2012-02-29 01:10:12 +00:00
Pragmatic Software 38166bd14d compiler_vm: reset vm only on time-outs to improve response speed 2012-02-25 08:30:49 +00:00
Pragmatic Software 58a592c86f compiler-vm: use astyle with file instead of stdin to avoid astyle bug; add lorem ipsum default -input text 2012-02-15 22:00:58 +00:00
Pragmatic Software 4e52d77f61 compiler_vm: improved macro parsing; replace newlines outside of quoted text 2012-02-11 05:05:49 +00:00
Pragmatic Software a2e2d15fc7 compiler_vm: added libc fatal errors; trace program only on signal 2012-02-09 18:48:45 +00:00
Pragmatic Software 4efa96dbbe docs: updated PBot.html 2012-02-05 18:27:04 +00:00
Pragmatic Software 11923967cf compiler_vm: watchdog debug output includes commands sent to gdb, fflush stdout on breakpoints 2012-02-04 20:34:55 +00:00
Pragmatic Software e3ec59322e compiler_vm: watchdog wraps more gdb output with <> 2012-02-04 06:02:52 +00:00
Pragmatic Software 56bd0e9101 compiler_vm: added trace() macro to trace function calls 2012-02-03 17:54:52 +00:00
Pragmatic Software e2e54079ae compiler_vm: improved abormal signal handling 2012-02-02 18:28:24 +00:00
Pragmatic Software fd1f18850a compiler_vm: updates (needs refactoring, pronto) 2012-02-02 04:14:38 +00:00
Pragmatic Software 22b43f21bf compiler_vm: updated gdb parsing (still needs refactoring) 2012-01-31 05:32:24 +00:00
Pragmatic Software d56aaeebca compiler_vm: updated to show local vars if no output, etc 2012-01-29 23:50:33 +00:00
Pragmatic Software 84f2f979a6 compiler_vm: rewrote watchdog to execute within gdb; added dump(), ptype(), watch() macros 2012-01-28 07:39:13 +00:00
Pragmatic Software 2830147338 Added missing encode_entities to c99/c11std generation 2012-01-23 22:33:13 +00:00
Pragmatic Software 59e100a44c Updated c99std and c11std to index footnotes 2012-01-23 22:24:51 +00:00
Pragmatic Software e5028eded6 Updated genstd.pl and n1256.txt/n1570.txt to improve parsing/detection of unparsed sections 2012-01-17 02:07:01 +00:00
Pragmatic Software 4e9774422b Updated c11std and c99std to properly index appendices 2012-01-17 00:08:26 +00:00
Pragmatic Software 1ba8750e0b Adding n1256.html and n1570.html 2012-01-16 15:40:30 +00:00
Pragmatic Software 0c8bc4f682 Added c99std and c11std commands. Now indexes FOREWORD, INTRODUCTION and appedices. 2012-01-16 15:34:32 +00:00
Pragmatic Software 0c9a9cccd2 google search module: decode HTML entities in result titles 2012-01-05 11:04:55 +00:00
Pragmatic Software cf0fead036 compiler-vm: added -input flag for providing stdin input; added %b printf specifier to print base-2; bug-fixes 2011-12-30 23:20:29 +00:00
Pragmatic Software dd7f84ceff bantracker: track +q and +b separately to prevent loss of information
bantracker: do not ban someone if their hostmask matches their +q mask
bantracker: remove ban timeouts on -q/-b
antiflood: unbanme will not work if manual ban/quiet set in place
2011-12-17 11:43:21 +00:00
Pragmatic Software 1d691caeb9 factoids: don't show nick prefix if has action_with_args; updated factoids
interpreter: don't expand $nick in result for all commands
2011-12-17 00:30:44 +00:00
Pragmatic Software d7dc16346c ban-tracker: track whether ban is +q or +b; do not ban evaders of generic +b bans ending with !*@*
anti-flood: improved logic of catching ban evaders
2011-12-15 06:18:10 +00:00
Pragmatic Software 49561130e5 factoids: improved 8ball response, etc 2011-12-15 06:13:21 +00:00
Pragmatic Software 3d0f763253 factoids: added hugs/hugs_response; aliased pokes, pets, spanks, slaps, hugs, etc 2011-12-13 04:43:57 +00:00
Pragmatic Software 036ae7cdfb antiflood: do not check accounts if no account 2011-12-12 23:33:39 +00:00
Pragmatic Software fa01bdde6f antiflood: fixed code indentation 2011-12-12 19:40:54 +00:00
Pragmatic Software 2fb0598a0e ban evasion: fixed whitelist logic 2011-12-12 16:40:22 +00:00
Pragmatic Software 016aba76db pbot.sh: strange behavior with &> -- using 2> instead 2011-12-12 06:01:51 +00:00
Pragmatic Software acbed6810f 2011-12-12 05:39:38 +00:00
Pragmatic Software 3b0b04f6e1 Corrected inverted ternary herp 2011-12-12 04:21:59 +00:00
Pragmatic Software 6dee494ffd bantracker: fixed derp 2011-12-12 04:17:03 +00:00
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 b2a1dec56c updated Changes file for Net::IRC/PBot::IRC 2011-01-26 00:37:01 +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 150b842b60 Changed format of HashObject save-file to be more like DualIndexHashObject; removed need for index_key 2010-06-23 06:51:39 +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 48e1c8c455 add, info, show, remove, etc, renamed to factadd, factinfo, factshow, factrem, etc; fact* commands now all take a channel parameter 2010-06-23 02:15:13 +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 f4fbfec8f6 Removing Changes file 2010-06-21 16:40:48 +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 3aa0982baf Removed extra logging information; limited "yourself" check to one word 2010-06-19 17:37:16 +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 e0c9c73acc Created HashObject.pm to abstract common actions on hash-tables 2010-06-18 03:19:45 +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