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