3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-29 14:12:37 +01:00
Commit Graph

503 Commits

Author SHA1 Message Date
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