3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-27 06:19:25 +01:00
Commit Graph

1666 Commits

Author SHA1 Message Date
Pragmatic Software
b2273d32fb Extract nested command substitutions and pipes 2017-12-08 20:26:08 -08:00
Pragmatic Software
35aeb6985f Update version 2017-12-08 19:28:11 -08:00
Pragmatic Software
4338455e11 Properly extract embedded commands 2017-12-08 19:28:08 -08:00
Pragmatic Software
8267f3cfe5 Update version 2017-12-07 11:13:55 -08:00
Pragmatic Software
6565e3d056 Update version 2017-12-05 21:19:24 -08:00
Pragmatic Software
6b4943e3a9 WebPaste: Remove a couple of left-over debug messages 2017-12-05 21:19:20 -08:00
Pragmatic Software
0bed26a479 Update version 2017-12-05 21:05:47 -08:00
Pragmatic Software
e2db94c354 Add WebPaste.pm for rotating paste sites 2017-12-05 21:05:44 -08:00
Pragmatic Software
ebb412298f Update version 2017-12-04 21:38:04 -08:00
Pragmatic Software
b089aa74bd Er, don't add /say to result if no result 2017-12-04 21:37:58 -08:00
Pragmatic Software
fbe467a472 Update version 2017-12-04 21:22:45 -08:00
Pragmatic Software
34e98aef98 Update version 2017-12-04 21:22:22 -08:00
Pragmatic Software
1378e41c1b Improve handling of /say, etc, in output text 2017-12-04 21:22:19 -08:00
Pragmatic Software
45421aaf30 Update version 2017-12-04 20:12:29 -08:00
Pragmatic Software
0d0c12e798 Unescape escaped command substitutions 2017-12-04 20:12:27 -08:00
Pragmatic Software
d902edd122 Update version 2017-12-04 18:34:37 -08:00
Pragmatic Software
43d227d1a9 Support command substitution 2017-12-04 18:34:34 -08:00
Pragmatic Software
8b2f64bf84 Update version 2017-12-03 19:09:37 -08:00
Pragmatic Software
f6da7f5662 Prevent /msg to serv@network (currently only abusable by admins) 2017-12-03 19:09:34 -08:00
Pragmatic Software
0468716581 Update version 2017-12-03 10:10:56 -08:00
Joey Pabalinas
a8a82b2f23 Prettify grab output similiar to recall (#14) 2017-12-03 10:12:05 -08:00
Pragmatic Software
6d4ea57d3b Update version 2017-12-03 10:04:09 -08:00
Pragmatic Software
103780cf0b find_admin: Fix anchored hostmask regex for global channel 2017-12-03 10:04:03 -08:00
Pragmatic Software
52d3ab024b validate_string: Remove unnecessary substr left over from special character scrubbing 2017-12-03 10:02:13 -08:00
Pragmatic Software
42376baf72 Update version 2017-12-02 15:05:59 -08:00
Pragmatic Software
63cfd038d0 Prevent creation of factoids with same name as existing built-in commands 2017-12-02 15:05:56 -08:00
Pragmatic Software
8ac79a4cb2 Move lc out of loop (does Perl already optimize for this?) 2017-12-02 15:05:30 -08:00
Pragmatic Software
3ab8f44a8a No need to show debugcontext log for empty result 2017-12-02 15:04:36 -08:00
Pragmatic Software
f870a724f3 Update version 2017-12-02 11:38:05 -08:00
Pragmatic Software
e7b348573f Update version 2017-11-30 18:53:42 -08:00
Pragmatic Software
836a20262f Use correct command for factoid aliases 2017-11-30 18:53:40 -08:00
Pragmatic Software
7a53f74e83 Handle commands/pipes with newlines 2017-11-30 18:50:17 -08:00
Pragmatic Software
7b142c68f5 Fix some UTF8 <=> JSON encoding issues? 2017-11-30 18:46:14 -08:00
Pragmatic Software
8d560ef988 Update version 2017-11-30 16:41:53 -08:00
Pragmatic Software
c199fa205d Fix fact command 2017-11-30 16:41:50 -08:00
Pragmatic Software
fa563391dd Update version 2017-11-30 13:11:42 -08:00
Pragmatic Software
51735494b3 Minor improvement to nick addressing 2017-11-30 13:11:39 -08:00
Pragmatic Software
320c8a4f92 Update version 2017-11-29 15:56:00 -08:00
Pragmatic Software
6f5fb2824b Honor nooverride in factmove and factalias 2017-11-29 15:55:53 -08:00
Pragmatic Software
5c36759fd3 Update version 2017-11-28 19:10:25 -08:00
Pragmatic Software
6ddfce4cc3 Remove code duplication 2017-11-28 19:10:22 -08:00
Pragmatic Software
2a012594e7 Update version 2017-11-28 19:07:08 -08:00
Pragmatic Software
ed5a34f16e Fix piping from aliases containing pipes 2017-11-28 19:07:01 -08:00
Pragmatic Software
e0e8434b85 Fix piping code-factoids 2017-11-28 18:30:35 -08:00
Pragmatic Software
f3a036bc81 Do not expand underscore-prefixed factoid varianbles 2017-11-28 18:30:09 -08:00
Pragmatic Software
35864b96a3 Update version 2017-11-27 20:10:20 -08:00
Pragmatic Software
179abf635f Update version 2017-11-27 19:18:06 -08:00
Pragmatic Software
1b13f00503 Fix utf8 encoding issue with code-factoids? 2017-11-27 19:18:00 -08:00
Pragmatic Software
356efe0a8a Fix some warnings 2017-11-27 19:17:28 -08:00
Pragmatic Software
6ac5c344fa Update version 2017-11-27 02:14:41 -08:00
Pragmatic Software
3b36634fa9 Fix factoid case duplication; enable me/my for pipes 2017-11-27 02:14:34 -08:00
Pragmatic Software
5f1dd143d2 Update version 2017-11-26 12:41:16 -08:00
Pragmatic Software
a40a7a5a82 Support KICK in ActionTrigger 2017-11-26 12:41:07 -08:00
Pragmatic Software
9db596fb5c Update version 2017-11-25 20:03:34 -08:00
Pragmatic Software
1222436616 Pipes can now be escaped for easy factadding, etc 2017-11-25 20:01:34 -08:00
Pragmatic Software
78a12b3a46 Improve nickoverride processing 2017-11-25 20:00:55 -08:00
Pragmatic Software
98d10b6ccd Update version 2017-11-23 15:19:41 -08:00
Pragmatic Software
a1aca0e150 Quote grabs export: Escape HTML entities for channel 2017-11-23 15:19:28 -08:00
Pragmatic Software
52d3cadef7 Improve factoid variable expansion 2017-11-23 14:12:43 -08:00
Pragmatic Software
a7f298520d Temporarily fix /msg, sort of 2017-11-23 14:12:23 -08:00
Pragmatic Software
cea2fc66f9 Fix fact command to use $stuff; increase factoid keyword length to 30 2017-11-23 14:11:54 -08:00
Pragmatic Software
89d3596dac Update version 2017-11-22 15:25:26 -08:00
Pragmatic Software
834cfaa11d Fix adminset not working on hostmasks with anchors 2017-11-22 15:25:14 -08:00
Pragmatic Software
a1217190c7 Update version 2017-11-20 16:12:41 -08:00
Pragmatic Software
ba970cbc18 Fix factoid channel reference tag duplication 2017-11-20 16:12:13 -08:00
Pragmatic Software
767c0e7532 factmove no longer can create factoid keywords with spaces 2017-11-20 16:11:18 -08:00
Pragmatic Software
51b1b25b16 Add debugcontext registry item for $stuff dumps 2017-11-20 16:10:48 -08:00
Pragmatic Software
5d85573c6e Update version 2017-11-19 14:39:06 -08:00
Pragmatic Software
fc6e0759d3 Fix dead argument in pipe 2017-11-19 14:39:03 -08:00
Pragmatic Software
4d99f1655c Fix unencoded entity in factoids HTML export 2017-11-19 14:37:02 -08:00
Pragmatic Software
1557bbc219 Fix UrlTitles properly 2017-11-19 14:06:17 -08:00
Pragmatic Software
b84183e30c Update version 2017-11-19 13:39:03 -08:00
Pragmatic Software
edfc01686c Fix UrlTitles to use $stuff 2017-11-19 13:38:55 -08:00
Pragmatic Software
0b9aaf8f79 Update version 2017-11-17 21:38:36 -08:00
Pragmatic Software
45dcefc752 /kick factoids can now be piped 2017-11-17 21:38:28 -08:00
Pragmatic Software
7b903854a3 Remove secretstuff; use $stuff context instead 2017-11-17 21:37:54 -08:00
Pragmatic Software
efb53e397f count now does whole-word matching 2017-11-17 21:36:41 -08:00
Pragmatic Software
a0d3b3271b Update version 2017-11-17 13:55:59 -08:00
Pragmatic Software
33dd854086 Update version 2017-11-17 13:53:30 -08:00
Pragmatic Software
656adae53c Improvements to piping and stuff 2017-11-17 13:53:23 -08:00
Pragmatic Software
73e61b72a7 Update version 2017-11-16 09:24:04 -08:00
Pragmatic Software
3ed4d58570 Significant refactoring of command passing
Instead of passing locally-scoped short-lived parameters to subroutines,
we now create and pass around a "stuff" context hash.

This allows contextual state to be passed and updated throughout the life
of a command.

This commit is a WIP and is 90% finished. There are likely to be a couple of
edge-cases where strange things may happen. But command-piping mostly works!
2017-11-16 09:23:58 -08:00
Pragmatic Software
b12cf1d799 Update version 2017-11-14 15:30:16 -08:00
Pragmatic Software
ae1e30051d Allow UTF in output again 2017-11-14 15:30:05 -08:00
Pragmatic Software
749377106b Update version 2017-11-14 15:27:38 -08:00
Pragmatic Software
68279d7a82 Minor refactor of process_line to ignore embedded commands within full commands 2017-11-14 15:27:30 -08:00
Pragmatic Software
bfec3ff9e8 Update version 2017-11-13 12:00:55 -08:00
Pragmatic Software
d644ac04d5 Limit factoid keywords to 30 characters 2017-11-13 12:00:34 -08:00
Pragmatic Software
f71dcfcf0e Limit max comma-separated kicks to 5 2017-11-13 08:42:56 -08:00
Pragmatic Software
541b8a31eb Update version 2017-11-12 08:04:49 -08:00
Pragmatic Software
69c081fd9a Limit maximum number of factoid variable expansions 2017-11-12 08:04:42 -08:00
Pragmatic Software
9acb38d790 Update version 2017-11-11 18:39:04 -08:00
Joey Pabalinas
353fd96022 Prettify recall messages for JOIN/QUIT/KICK/NICKCHANGE/etc (#12) 2017-11-11 18:37:54 -08:00
Pragmatic Software
94169b89a2 Update version 2017-11-11 12:59:34 -08:00
Pragmatic Software
8997534ce6 Can now kick comma-separated nicks 2017-11-11 12:59:27 -08:00
Pragmatic Software
7b4d9cc4cc Update version 2017-11-10 20:30:11 -08:00
Krokodile Glue
250337927b Modify the syntax of the kick command (#10)
* Modify the syntax of the kick command

* Modify the syntax of the kick command

* Beautify helpful comment
2017-11-09 19:26:05 -08:00
Pragmatic Software
efe5d838f7 Update version 2017-11-08 11:17:14 -08:00
Pragmatic Software
a119ed815f AutoRejoin delay can now be overriden per-channel 2017-11-08 11:17:07 -08:00
Pragmatic Software
5c954dc43c Correct "counter" to "action" in minor text message 2017-11-08 11:16:46 -08:00
Pragmatic Software
39c9efd7d1 Add unban-queue option to unban usage message 2017-11-08 11:15:36 -08:00
Pragmatic Software
7e9c116712 unban command can now take comma-separated list of targets; can also opt to use unban queue or not 2017-11-08 11:11:43 -08:00
Pragmatic Software
34fee863e0 Update version 2017-11-03 12:28:44 -07:00
Pragmatic Software
1172d7b262 Ensure admins actually have rights in $channel to use $command 2017-11-03 12:28:41 -07:00
Pragmatic Software
9e24f43ff7 login command now accepts optional channel argument 2017-11-03 12:27:59 -07:00
Pragmatic Software
c1f57d5839 Update version 2017-11-03 11:58:20 -07:00
Pragmatic Software
2b1230a894 Update version 2017-10-17 22:05:10 -07:00
Pragmatic Software
62891fea01 Allow things like user@host in AntiTwitter 2017-10-17 22:05:00 -07:00
Pragmatic Software
ae157908ce Update version 2017-10-15 10:56:56 -07:00
Pragmatic Software
62d05f398f Restrict admin level setting to appropriate admins 2017-10-15 10:56:51 -07:00
Pragmatic Software
9219f02654 Update version 2017-10-14 21:44:48 -07:00
Pragmatic Software
456e239afe Update version 2017-10-13 20:54:14 -07:00
Pragmatic Software
665457ff3e Update version 2017-10-10 20:31:48 -07:00
Pragmatic Software
26b6f90c7c Update version 2017-10-10 18:53:14 -07:00
Pragmatic Software
a451b0f767 Clean up previous commit 2017-10-10 18:53:11 -07:00
Pragmatic Software
12fcf7479e Update version 2017-10-10 17:19:34 -07:00
Pragmatic Software
cffcd04895 Handle module results in parent instead of child 2017-10-10 17:19:02 -07:00
Pragmatic Software
fda67f3739 Add buffering to StdinReader 2017-10-10 14:31:31 -07:00
Pragmatic Software
3464df6901 Update version 2017-10-09 19:41:06 -07:00
Pragmatic Software
0a5f64d818 Log when reminders fire off 2017-10-09 19:41:00 -07:00
Pragmatic Software
240b4a6df0 Fix scalar keys thing 2017-10-09 19:40:32 -07:00
Pragmatic Software
7e76740f5b Move special var expansion to expand_special_vars 2017-10-09 19:39:54 -07:00
Pragmatic Software
c119043d2a Update version 2017-10-09 19:35:18 -07:00
Pragmatic Software
d771d66d8f fact_find no longer treats some aliases as regex when they alias a built-in command 2017-10-09 19:35:11 -07:00
Pragmatic Software
95b16daae8 Update version 2017-10-05 19:37:08 -07:00
Pragmatic Software
0fcbaaad4b Update version 2017-10-05 14:32:04 -07:00
Pragmatic Software
f07c34f53f Paste to ix.io instead of sprunge; set 10 second timeout for pastes 2017-10-05 14:31:58 -07:00
Pragmatic Software
8ba0664b85 Improve parsing of embedded factoids 2017-10-05 14:31:00 -07:00
Pragmatic Software
b46dfe31fc Update version 2017-10-04 17:56:43 -07:00
Pragmatic Software
9710ad2b28 Remove capture from factchange 2017-10-04 17:56:34 -07:00
Pragmatic Software
652cad7ddf Fix factundo on deleted factoids 2017-10-04 17:56:16 -07:00
Pragmatic Software
0ab6a46008 Update version 2017-10-04 11:32:29 -07:00
Pragmatic Software
e1db291c35 Fix captures in factchange regex 2017-09-29 12:40:40 -07:00
Pragmatic Software
492ee7b6a4 Update version 2017-09-29 12:07:59 -07:00
Pragmatic Software
688cafde3c factchange now understands modifiers like /g and /i, etc 2017-09-29 12:07:50 -07:00
Pragmatic Software
d0c2395d25 Update version 2017-09-27 22:44:53 -07:00
Pragmatic Software
9af866a65a Update version 2017-09-23 21:04:33 -07:00
Pragmatic Software
ab7aa990a0 Add :json modifier to escape variables for JSON 2017-09-23 21:04:21 -07:00
Pragmatic Software
346dcd3320 Uh, fix weird typo 2017-09-21 11:52:45 -07:00
Pragmatic Software
339e677732 Update version 2017-09-18 21:36:48 -07:00
Pragmatic Software
807bfbf235 Persist-key now works on VM-based code-factoids 2017-09-18 21:36:40 -07:00
Pragmatic Software
5062dc0be9 Remove annoying /msg about kicking 2017-09-18 21:24:30 -07:00
Pragmatic Software
4c5aa39c1b Update version 2017-09-15 16:41:50 -07:00
Pragmatic Software
e43d2ef144 Improvements to code-factoids
Most code languages now accept factoida arguments as command-line
arguments; e.g., argc and argv in C/C++, args[] in Java, @ARGV in Perl, etc.

No longer say "Same output" for code-factoids.
2017-09-15 16:41:36 -07:00
Pragmatic Software
1ec94d6956 Update version 2017-09-14 19:37:46 -07:00
Pragmatic Software
cf960261aa Update version 2017-09-12 05:53:57 -07:00
Pragmatic Software
eaad5b1c65 Update version 2017-09-12 05:50:55 -07:00
Pragmatic Software
4389d01b54 code-factoids now support native variables (currently only C-family and Perl are implemented) 2017-09-12 05:50:49 -07:00
Pragmatic Software
a03c1c1d0d Update version 2017-09-10 19:53:33 -07:00
Pragmatic Software
85693f905a Convert code-factoids to use VM
Code-factoids can now use the compiler virtual machine. Any languages installed
in the VM are valid candidates for code-factoids!

Syntax: factadd keyword /code language code here
2017-09-10 19:53:29 -07:00
Pragmatic Software
278fffdad6 Use re2 for regfind and factfind 2017-09-09 22:37:11 -07:00
Pragmatic Software
58f21b3bf7 Add newlines to ActionTrigger list 2017-09-09 22:32:14 -07:00
Pragmatic Software
f15423774b Update version 2017-09-09 18:23:13 -07:00
Pragmatic Software
7792fd9bb0 Update version 2017-09-05 17:22:57 -07:00
Pragmatic Software
8f9875cf18 Correct $tonick/$nick behavior in factiod interpolation 2017-09-05 17:22:47 -07:00
Pragmatic Software
9a082ede38 Restrict factsetting action to admins 2017-09-05 17:20:23 -07:00
Pragmatic Software
fd8a43c9cd factundo/factredo now respect locked metadata 2017-09-05 02:18:02 -07:00
Pragmatic Software
3fa44a1a19 Update version 2017-09-05 00:48:17 -07:00
Pragmatic Software
d6a845f988 Do some basic string validation for factoids and such 2017-09-05 00:27:28 -07:00
Pragmatic Software
5262934e0d Improve Logger text escaping 2017-09-05 00:18:35 -07:00
Pragmatic Software
c3938ed8bb Add ValidateString utilities 2017-09-05 00:18:03 -07:00
Pragmatic Software
a805fe26e4 Use SafeFilename in factlog and factundo/redo 2017-09-04 19:07:10 -07:00
Pragmatic Software
5e6e5cb21d Add SafeFilename module 2017-09-04 19:06:31 -07:00
Pragmatic Software
47e295f8cd Add ParseDate plugin 2017-09-03 20:46:34 -07:00
Pragmatic Software
b6aecce701 Temporarily disable code-factoids
There are a wide range of potential denial-of-service attacks possible
without severely restricting the allowed opcodes. As such, we are
setting code-factoids' default state to disabled. Enable at your own risk.

There are plans to move the code-factoid logic to a virtual machine.
2017-09-03 01:38:25 -07:00
Pragmatic Software
58a629eca4 Correct 0-value factoid var expansion 2017-09-02 01:44:57 -07:00
Pragmatic Software
a2cd25facd factundo and factlog now handle deleted factoids 2017-09-02 01:05:11 -07:00
Pragmatic Software
12a92ea7d3 Replace control chars with escaped ordinals 2017-09-02 00:40:46 -07:00
Pragmatic Software
1b70de807b Change split / / to split /\s+/ throughout 2017-09-02 00:39:29 -07:00
Pragmatic Software
793303fcde Fix factoid var expansion such that 0 can now be yielded 2017-09-02 00:27:01 -07:00
Pragmatic Software
5ee07e08d2 Replace control chars with escaped ordinals 2017-09-02 00:19:39 -07:00
Pragmatic Software
2f014ba2f0 Use /say on returns whose first word is a variable 2017-09-02 00:14:13 -07:00
Pragmatic Software
5cd0f85e65 Strip control characters from log messages 2017-08-31 03:30:22 -07:00
Pragmatic Software
678d82676d Add interpolate factoid metadata to control interpolation 2017-08-31 03:10:20 -07:00
Pragmatic Software
d20ea65155 Update version 2017-08-31 00:04:37 -07:00
Pragmatic Software
0272a457d3 Read-only fact* commands no longer require explicit channel confirmation 2017-08-30 22:54:38 -07:00
Pragmatic Software
9c3097b8f9 Remove unused legacy list messages functionality 2017-08-30 22:23:35 -07:00
Pragmatic Software
0fd81482d7 Follow factoid aliases when checking for use_output_queue 2017-08-30 18:03:10 -07:00
Pragmatic Software
08b28cf6c2 No longer discard "0" valued arguments from find_factoid_with_optional_args 2017-08-30 17:51:42 -07:00
Pragmatic Software
bbb52f99e9 Do not move factlog between channels any longer 2017-08-30 16:07:33 -07:00
Pragmatic Software
8dc7d6554c Correct minor typo 2017-08-30 06:55:57 -07:00
Pragmatic Software
b0b1d1affa Fix incorrect fact_find in interpreter 2017-08-30 06:54:23 -07:00
Pragmatic Software
3b93d6c281 Escape single-quotes before using GetOptionsFromString and shellwords 2017-08-30 02:12:05 -07:00
Pragmatic Software
3a4eb4e5f5 Update version 2017-08-28 23:16:13 -07:00
Pragmatic Software
3d7388b402 Correct expansion of $nick and $args and such 2017-08-28 23:15:57 -07:00
Pragmatic Software
9fbafec4fd factundo/factredo now show modifications 2017-08-28 23:14:32 -07:00
Pragmatic Software
9b1cdffa6b Prevent access to undefined db handle 2017-08-28 13:53:03 -07:00
Pragmatic Software
d638370cdc Update version 2017-08-27 20:40:52 -07:00
Pragmatic Software
25e104732e Whoops, don't add an $ to $0 expansion, use $0 in factoids and $$0 for factoid variables instead 2017-08-27 20:40:15 -07:00
Pragmatic Software
a6e495352f Remove extraneous $1 2017-08-27 19:54:46 -07:00
Pragmatic Software
07eef4b9a2 Update version 2017-08-27 19:52:39 -07:00
Pragmatic Software
c5da50593a Expand $0 and /call in factoid variables 2017-08-27 19:52:36 -07:00
Pragmatic Software
65e15e93ee Update version 2017-08-27 19:02:50 -07:00
Pragmatic Software
80bceb2c75 Make fact log of factset more concise 2017-08-27 19:02:48 -07:00
Pragmatic Software
ca827a1499 Show factlog output sorted from newest to oldest 2017-08-27 19:00:31 -07:00
Pragmatic Software
90cdc8db7a Correct handling of optional channel argument 2017-08-27 18:52:14 -07:00
Pragmatic Software
51c26d0655 Update version 2017-08-27 04:18:34 -07:00
Pragmatic Software
75c6375339 Refactor code-factoid execution a little bit 2017-08-27 04:18:31 -07:00
Pragmatic Software
73bc7cebe4 Update factset usage to reflect optional channel 2017-08-27 02:44:35 -07:00
Pragmatic Software
2e249b079a Update version 2017-08-27 00:56:57 -07:00