Commit Graph

808 Commits

Author SHA1 Message Date
Pragmatic Software 46b5b95d54 Escape undesired SQL wildcards in certain statements; add `aka` command to list also-known-as entries 2014-07-11 12:57:18 +00:00
Pragmatic Software 65073e311d Add support for `nooverride` to prevent commands from being overridden in different namespaces 2014-07-11 12:56:17 +00:00
Pragmatic Software 23b725eeb8 Prevent warning about given/when; incorporate general offense counter in enter abuse offenses; decrement enter abuses once every 24 hours instead of once per hour 2014-07-11 12:54:56 +00:00
Pragmatic Software b2114ca03f CGrammar: Concatenate adjacent string literals 2014-07-11 11:30:05 +00:00
Pragmatic Software 69eca9a336 CGrammar: Change "Repeatedly never" to "Never repeatedly" 2014-07-10 13:13:57 +00:00
Pragmatic Software bea4480cf3 CGrammar: Fix handling 0 as conditional in for loop 2014-07-10 13:11:13 +00:00
Pragmatic Software 38b6edf656 CGrammar: Fix passing 0 as argument to function 2014-07-10 12:35:33 +00:00
Pragmatic Software 5f9fb29e7e CGrammar: Add some missing lowercasing specifiers 2014-07-10 12:24:29 +00:00
Pragmatic Software fab1986a3e CGrammar: Do not use "result of the expression" for single terms 2014-07-10 01:23:19 +00:00
Pragmatic Software 4520be1a2c CGrammar: Improve translation of initializer expressions such as `int i = 'a' > 'b';` 2014-07-09 09:19:49 +00:00
Pragmatic Software de3493f1ca CGrammar: Do not use "an" for items beginning with 'y'; improve translation of array of array indices 2014-07-08 05:24:21 +00:00
Pragmatic Software 029cc1ec7a CGrammar: Improve handling of space seperator in declaration initializers; fix issue with typedefs starting with a type specifier 2014-07-08 03:28:51 +00:00
Pragmatic Software 0c8078c6db CGrammar: Don't pluralize "member" for structs with a single function pointer 2014-07-08 01:15:51 +00:00
Pragmatic Software cc0957b060 CGrammar: Improve handling of declarations and initializers; improve translation of sizeof in statement context 2014-07-08 00:33:50 +00:00
Pragmatic Software 4a646f61c9 CGrammar: correct order of sizeof unary expressions 2014-07-07 10:24:15 +00:00
Pragmatic Software 6295b0f503 CGrammar: Add _Atomic 2014-07-07 09:15:46 +00:00
Pragmatic Software d244af52d8 CGrammar: Improve _Static_assert translation 2014-07-07 08:39:06 +00:00
Pragmatic Software b470359071 CGrammar: Add _Static_assert 2014-07-07 08:27:10 +00:00
Pragmatic Software 9623086310 CGrammar: Add C11's _Alignof 2014-07-07 06:45:50 +00:00
Pragmatic Software 162e264e82 CGrammar: Remove left-over debugging statements 2014-07-06 04:49:10 +00:00
Pragmatic Software 8de131b871 CGrammar: Support C11's _Alignas; improve handling of comments in declaration specifiers 2014-07-06 04:47:07 +00:00
Pragmatic Software 520d1a2c9c CGrammar: Support flexible array struct members; fix up minor whitespace issue 2014-07-05 05:11:07 +00:00
Pragmatic Software 5b10d9769e CGrammar: Correct order of pointer abstract declarator -- now parses `int *[]` properly 2014-07-05 04:39:35 +00:00
Pragmatic Software c638b2c993 CGrammar: Fix shebangs to use env to detect perl location 2014-07-05 00:04:15 +00:00
Pragmatic Software e17c749ca7 CGrammar: Remove todo comments 2014-07-04 23:45:38 +00:00
Pragmatic Software 4583d85b50 CGrammar: Fix declarations without identifier 2014-07-04 23:41:54 +00:00
Pragmatic Software 9c5b307bef compiler_vm: Fix #include parsing logic against mismatched #include <foo" tokens 2014-07-04 13:04:27 +00:00
Pragmatic Software 9b93a33acf CGrammar improvements:
- show return type if _Noreturn function has type other than void
  - improve translation of function body
  - replace "Let `i` be an int" with "Declare `i` as an int"
2014-07-04 12:18:59 +00:00
Pragmatic Software 1f3533bf76 CGrammar: support inline and _Noreturn function specifiers 2014-07-04 11:09:58 +00:00
Pragmatic Software e1ed0bb6b9 CGrammar: replace `parameters` with `arguments` where appropriate 2014-07-04 08:20:01 +00:00
Pragmatic Software 8b626cc81e CGrammar: Wrap struct/union member declaration list with commas to disambiguate nested structs/unions 2014-07-04 02:58:55 +00:00
Pragmatic Software 8b72c03d34 CGrammar improvements:
- periods after "Call the function" and "Result of the function"
  - conditional operator in assignment expression now says "otherwise the value"
  - struct members now use "`identifer` as type" in declarations
  - fix chained designated initializers, e.g. s.i[0] = x and [0][0] = x
  - fix post/pre-incremented/decremented array elements
  - correct positioning of "is nonzero" in multidimensional array locations
2014-07-03 21:33:20 +00:00
Pragmatic Software df5fcbeaaa CGrammar: Add C11 use of type-qualifiers and static in array declarators in function parameter lists 2014-07-02 20:55:50 +00:00
Pragmatic Software d320d5e04a Fix compliment module 2014-07-02 20:54:17 +00:00
Pragmatic Software 8d38af0d69 CGrammar: Include preprocessor and comments in block items 2014-07-02 18:04:22 +00:00
Pragmatic Software 469e16ce28 CGrammar: Update compound-statements to C11's block-item-list mixing declarations and statements 2014-07-02 17:54:21 +00:00
Pragmatic Software 07f9ef6120 CGrammar: Remove "the list" from initializer lists; restore skipping of whitespace to struct/union/enum specifier 2014-07-02 16:54:02 +00:00
Pragmatic Software 7b42e9220e CGrammar: Fix case where `intx` could be parsed as a declaration instead of an identifier 2014-07-02 16:36:22 +00:00
Pragmatic Software 5eee740cd7 CGrammar: Add designated initializers 2014-07-02 01:32:13 +00:00
Pragmatic Software aca698374c CGrammar: Correct beautification regex for "the a" 2014-07-01 19:07:44 +00:00
Pragmatic Software 73967e0721 CGrammar: Progress on C11 features -- added compound-literals 2014-07-01 18:57:02 +00:00
Pragmatic Software 34def4f9ad CGrammar: Fix ordering of statement vs conditional/expression due to concatenated context 2014-07-01 17:03:07 +00:00
Pragmatic Software d6c20bc051 CGrammar: Put space after if/while/for keywords 2014-07-01 16:21:52 +00:00
Pragmatic Software b66e9502d7 CGrammar: Improve translation of structure postfix productions; concatenate contexts for multiple context 2014-07-01 16:16:40 +00:00
Pragmatic Software f4fdd9f221 CGrammar: Begin adding C11 features; add for-loop init declaration; add C11 keywords to reserved list 2014-06-29 21:13:18 +00:00
Pragmatic Software 5d9b45661d CGrammar: Correct handling of empty string literals during beautification 2014-06-28 14:49:59 +00:00
Pragmatic Software 086d5059b1 CGrammar: Move output beautification to c2eng.pl; white-out string literals before beautifying 2014-06-28 14:41:50 +00:00
Pragmatic Software 5730d56d54 CGrammar: Improvements to translation of comma operator 2014-06-28 10:18:28 +00:00
Pragmatic Software 99aea7fe63 CGrammar: Fix translation of multiple type specifiers, e.g. `long double` no longer becomes `double long` 2014-06-27 11:38:54 +00:00
Pragmatic Software 3a3827fe40 CGrammar: Correct context for translation of "post-incremented" vs "increment by one" 2014-06-27 11:25:45 +00:00
Pragmatic Software 26e8f1552c CGrammar: Improve translation of comma operator; remove redundant $arg{context}s 2014-06-26 07:35:11 +00:00
Pragmatic Software 682e6d2af3 CGrammar: Improve pluralization of arrays/pointers in declarations and improve translation of multiple identifiers in typedefs 2014-06-25 12:01:06 +00:00
Pragmatic Software 669e4e37c2 CGrammar: Fix typedefs 2014-06-25 10:15:12 +00:00
Pragmatic Software b38c6c91c1 CGrammar: Add more types; improve translation of comma operator; track identifiers 2014-06-25 08:19:56 +00:00
Pragmatic Software a232919dca CGrammar: Add more lower-case markers 2014-06-24 08:47:29 +00:00
Pragmatic Software a8320f52f9 CGrammar: Fix structure member access; add lower-case markers 2014-06-24 08:44:28 +00:00
Pragmatic Software 95949153e0 CGrammar: Change "is true" to "is nonzero" 2014-06-24 05:38:59 +00:00
Pragmatic Software 9abf8b6e44 CGrammar: Improve "is true" placement 2014-06-24 05:34:54 +00:00
Pragmatic Software 84ee56a15e CGrammar: Remove under-construction warning and outdated todo list 2014-06-23 11:17:23 +00:00
Pragmatic Software 9bb70278b7 CGrammar: static local variables do not have internal linkage 2014-06-23 11:10:40 +00:00
Pragmatic Software 76faa3f2ca CGrammar: Several fixes and improvements 2014-06-23 08:29:08 +00:00
Pragmatic Software c1de5f6c97 CGrammar: Show bad parse error to users 2014-06-22 06:11:11 +00:00
Pragmatic Software d97f8b2fd6 CGrammar: Return output instead of printing; improve error-handling of misparsed code 2014-06-22 06:08:01 +00:00
Pragmatic Software e9b3d7e255 CGrammar: Fix bit-fields; remove under-construction/work-in-progress notice 2014-06-22 04:50:21 +00:00
Pragmatic Software d4cda2bbc6 CGrammar: Fix some abstract declarators in parameter lists; remove some minor extra whitespace 2014-06-22 02:28:28 +00:00
Pragmatic Software a388994d54 CGrammar: Fix anchoring of `reserved` rule 2014-06-21 06:40:03 +00:00
Pragmatic Software 0b941bf771 CGrammar: Anchor reserved rule to prevent prefix matching 2014-06-21 02:01:38 +00:00
Pragmatic Software 1e2caf2bea CGrammar: Er, *correctly* change parameter declarations from "int `i`" to "`i` as int" 2014-06-21 01:40:55 +00:00
Pragmatic Software f137294429 CGrammar: Change parameter declarations from "int `i`" to "`i` as int" 2014-06-21 01:36:24 +00:00
Pragmatic Software c18af75b63 CGrammar: Fix functions taking function pointer as parameter 2014-06-20 23:16:04 +00:00
Pragmatic Software a501557d35 CGrammar: Support long long suffix on constants; add .0 to floating pointer constants when omitted 2014-06-20 09:12:56 +00:00
Pragmatic Software d7197b6bf6 CGrammar: Replace "constant" with "const" since "constant" has a specific meaning in the C standard 2014-06-20 08:25:15 +00:00
Pragmatic Software 3f545cefdc CGrammar: Fix arrays of function pointers and function pointers returning pointers 2014-06-20 08:05:36 +00:00
Pragmatic Software 476db3d6a9 CGrammar: Several improvements in declarations; progress on pointers to functions 2014-06-20 07:43:06 +00:00
Pragmatic Software 1272de61fa CGrammar: Fix preproc conditionals 2014-06-19 05:16:46 +00:00
Pragmatic Software f898580d33 CGrammar: Fix `int const i` to translate to `constant int i` instead of `int constant i` 2014-06-18 22:31:56 +00:00
Pragmatic Software 7590644422 CGrammar: Improve conditional operator translation 2014-06-18 01:08:19 +00:00
Pragmatic Software 8f5e4c9e88 CGrammar: change "pointer to a" to "pointer to" 2014-06-18 00:20:43 +00:00
Pragmatic Software 987de3f38c CGrammar: Oops, pointers are read right-to-left -- fixed const pointers again 2014-06-18 00:14:16 +00:00
Pragmatic Software 861f095829 CGrammar: Fix const pointers 2014-06-17 23:51:55 +00:00
Pragmatic Software dfb7ca0abd CGrammar: Move bit-field to declarator so they can be declared in lists like int a[5], b:5 2014-06-17 23:33:34 +00:00
Pragmatic Software b2a0963abb CGrammar: Improve array translation and fix pointer pluralization 2014-06-17 23:12:02 +00:00
Pragmatic Software 77f1005e03 CGrammar: Fix struct member declarations, pluralize "pointers to" when applicable 2014-06-17 18:20:13 +00:00
Pragmatic Software c40fd81bb0 CGrammar: Add dash between bitwise operators, .e.g. "bitwise ORed" becomes "bitwise-ORed" 2014-06-16 21:23:19 +00:00
Pragmatic Software b0ce2d422e CGrammar: Improve structures and constant literals 2014-06-16 21:13:30 +00:00
Pragmatic Software c205d348e7 CGrammar: Significantly improve postfix expressions, remove basics objects 2014-06-16 02:31:13 +00:00
Pragmatic Software 78419de052 CGrammar: Improve logic of precompiling grammar 2014-06-15 15:42:20 +00:00
Pragmatic Software 7f84708a5e CGrammar: add support for precompiling grammar 2014-06-15 04:28:54 +00:00
Pragmatic Software 9389edd2df CGrammar: Optimize postfix_expression rule and fix function definitions 2014-06-15 03:57:27 +00:00
Pragmatic Software 2dba87f453 CGrammar: Optimize preproc rules 2014-06-15 01:09:06 +00:00
Pragmatic Software 632a9582d5 CGrammar: Improve and optimize conditional_expression rule; improve translation of parenthetical expressions 2014-06-15 00:46:49 +00:00
Pragmatic Software bf9586b6a8 CGrammar: Improve labels and goto 2014-06-14 19:13:53 +00:00
Pragmatic Software 392cbfb5d1 CGrammar: Improve switch/case/break/label 2014-06-14 18:41:55 +00:00
Pragmatic Software c2b4d5cb19 CGrammar: Now parses int *a[10] and int (*a)[10] and such 2014-06-14 17:54:20 +00:00
Pragmatic Software 9597833b32 CGrammar: Function prototypes can appear in delcaration section 2014-06-12 14:19:39 +00:00
Pragmatic Software 0f5dbeda7a CGrammar: Improve chained assignment 2014-06-12 13:23:03 +00:00
Pragmatic Software c6e893a4fa CGrammar: Improve arrays and fix array initialization 2014-06-12 13:13:45 +00:00
Pragmatic Software e29bd99b42 CGrammar: Improve casting, for/do loops and assignment from function result 2014-06-12 12:23:16 +00:00
Pragmatic Software df1fa14b2a CGrammar: Fix array translation text 2014-06-11 12:50:16 +00:00
Pragmatic Software 026db04e4a CGrammar: Remove some redundant returns 2014-06-11 08:54:12 +00:00
Pragmatic Software 992dae043f CGrammar: Fix /* comment */ regex, minor improvement to while loop, need to fix arrays 2014-06-11 08:29:58 +00:00
Pragmatic Software 5c8b845e6d CGrammar: Fix character-literal and string-literal regexs; add more character-literal constants 2014-06-11 07:42:16 +00:00
Pragmatic Software d8703faf0e CGrammar: Fix #elif and function prototypes 2014-06-10 21:12:09 +00:00
Pragmatic Software 27dd491fe6 CGrammar: Improve initializations 2014-06-10 17:01:43 +00:00
Pragmatic Software 83d0d862f5 c2english.pl: Improve code parsing/function extraction 2014-06-10 14:29:16 +00:00
Pragmatic Software 929d9368fe CGrammar: Fix function call results and improve character constants 2014-06-10 08:50:19 +00:00
Pragmatic Software c4fd8a964f CGrammar: Fix preprocessor and improve for-loops 2014-06-10 06:05:14 +00:00
Pragmatic Software 9992119b11 CGrammar: Improve enumeration translation 2014-06-09 10:18:26 +00:00
Pragmatic Software ffab2c6f3b CGrammar: fix enumerations, improve for-loops and comma operators 2014-06-09 10:00:13 +00:00
Pragmatic Software ec1fd207a6 CGrammar: fix conditional statement, improve structures and do-while loop 2014-06-08 15:59:43 +00:00
Pragmatic Software 6641bc3cf2 More progress on CGrammar.pm 2014-06-08 13:51:29 +00:00
Pragmatic Software ca91e34a25 CGrammar: Significantly improve indentation; minor textual improvements 2014-06-08 06:34:55 +00:00
Pragmatic Software 8e818baa52 Rename global_var_declaration to external_declaration 2014-06-07 13:02:50 +00:00
Pragmatic Software 730120be36 Rough-draft work-in-progress alpha of new C-to-English module 2014-06-07 13:00:07 +00:00
Pragmatic Software 6740522fae Improve cdecl usage message 2014-06-05 21:45:25 +00:00
Pragmatic Software a6b66cb351 Add rpn module 2014-06-04 00:21:48 +00:00
Pragmatic Software 2fd23c7222 Ghost nick through NickServ if already on server 2014-06-01 21:33:31 +00:00
Pragmatic Software eec2433906 Move some responses from /msg to public 2014-06-01 21:32:32 +00:00
Pragmatic Software 33765c6d3a Add -editby to factfind, move some responses from /msg to public 2014-06-01 21:31:54 +00:00
Pragmatic Software 2cb5d60b51 compiler_vm: Convert exit code from octal to decimal; add variables to easily change opening/closing brackets; experiment with using whitespace instead of <> 2014-05-31 16:36:37 +00:00
Pragmatic Software 0302a5328a compiler_vm: Add Win32 named-pipe TCP proxy program 2014-05-31 01:24:22 +00:00
Pragmatic Software 62e11d0b5d compiler_vm: add Win32 VirtualBox server; misc improvements 2014-05-31 01:20:31 +00:00
Pragmatic Software 0b728c9d37 Update docs -- added MODULES file for easy installation of Perl modules 2014-05-31 01:11:04 +00:00
Pragmatic Software b9433127d1 Improve wildcard handling 2014-05-31 01:08:01 +00:00
Pragmatic Software 4696df7ea1 Add subroutines to release and identify nick if necessary 2014-05-31 01:07:29 +00:00
Pragmatic Software 60d8235999 Add registry entry to control max recursion depth for interpreter 2014-05-31 01:05:47 +00:00
Pragmatic Software 7b2fb432c0 Restrict factset add_nick to level 10 2014-05-31 01:04:26 +00:00
Pragmatic Software f463852093 Add registry entry to toggle debugging of IRC module 2014-05-31 01:03:42 +00:00
Pragmatic Software a81ba775fc Restored load, unload, count and histogram commands.
Removed enable/disable commands; use factset instead.

Add default_rate_limit registry entry.

Add newlines to output of DualIndexHashable set() subroutine.
2014-05-24 12:01:59 +00:00
Pragmatic Software 02c0143634 Add factmove command to rename/move factoids between channels 2014-05-23 12:42:23 +00:00
Pragmatic Software c2089562c5 Add registry entry for ChanServ ban timeout 2014-05-23 05:03:54 +00:00
Pragmatic Software 5904a3f1f4 Allow quoting/escaping spaces in grab arguments 2014-05-22 01:24:14 +00:00
Pragmatic Software 35e150d2b6 Optimize ban-evasion logic to significantly reduce number of SQLite queries; add registry entry for debugging ban-evasion 2014-05-21 04:52:17 +00:00
Pragmatic Software 5ba8ab0a4b Do not ban nick-flood on non-channels 2014-05-20 22:24:58 +00:00
Pragmatic Software 5c14727fd1 Add SQLite logger and profiler functionality 2014-05-20 10:17:01 +00:00
Pragmatic Software 39c0cd3fb5 Add registry entry to enable/disable antiflood enforcement 2014-05-20 10:14:09 +00:00
Pragmatic Software f5881de7a1 Improve regfind with better formating in pasted output, and add -showvalues argument. regshow/regfind now show private entry names with value redacted 2014-05-20 03:28:43 +00:00
Pragmatic Software 548b4681ac Add %conf to all module creation; add deop timeout registry entry 2014-05-19 22:59:51 +00:00
Pragmatic Software 40b2393d05 Add registry values to manage showing url titles and compiling blocks 2014-05-19 21:34:24 +00:00
Pragmatic Software ac45cf8036 Timer can now update timeout interval by timer id; add timer interval to registry for LagChecker and MessageHistory_SQLite 2014-05-19 10:30:25 +00:00
Pragmatic Software 710bbb76cc Add registry get_array_value() subroutine 2014-05-19 09:55:47 +00:00
Pragmatic Software 349afd4ae0 Correct enter_abuse_punishment default value 2014-05-19 04:30:36 +00:00
Pragmatic Software 937282a114 Add more values to registry for antiflood and lagchecker 2014-05-19 02:42:18 +00:00
Pragmatic Software 020d512ee4 Minor indentation fix 2014-05-18 22:51:37 +00:00
Pragmatic Software 1cce945412 Remove unnecessary ${} around some objects from previous commit 2014-05-18 20:19:30 +00:00
Pragmatic Software 30e3c5ce35 Remove PBot getter/setters; move anti-flood registry defaults to AntiFlood.pm 2014-05-18 20:09:05 +00:00
Pragmatic Software bf4920b866 Set default identify_password to "none" to avoid empty value in registry 2014-05-18 00:30:51 +00:00
Pragmatic Software e07df35cbf Move command modules out of PBot.pm and into their respective modules
E.g., FactoidCommands.pm is now loaded inside Factoids.pm, etc.

Misc reformatting/refactoring of PBot.pm
2014-05-18 00:27:57 +00:00
Pragmatic Software d955bfa06c Add centralized configuration registry module
Allows changing of bot configuration values without needing to restart
bot instance or needing to edit pbot.pl script.

Registry will initially be populated with default values from pbot.pl,
but if a registry file exists then the registry values will take
precedence over the pbot.pl values. For instance, if you regset the
bot trigger to '%' then the trigger will be '%' even if pbot.pl has '!'
or something else explicitly set.

Some registry items can have trigger hooks associated with them.  For
instance, the irc->botnick registry entry has a change_botnick_trigger
associated with it which changes the IRC nick on the server when a new
value is set via regset/regadd.

Tons of other fixes and improvements throughout.
2014-05-17 20:08:19 +00:00
Pragmatic Software d8d26b1cea Add registerable atexit functionality and trap SIGINT 2014-05-16 22:11:31 +00:00
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