Pragmatic Software
5e0a3a7035
Factoids/FactoidCommands: properly preserve quotes when splitting arguments
2020-02-01 22:19:53 -08:00
Pragmatic Software
a24ddd765d
Factoids: fix minor issue with factrem
2020-02-01 20:51:45 -08:00
Pragmatic Software
f173b43c8d
Factoids: fix minor issue with factadd
2020-02-01 20:48:34 -08:00
Pragmatic Software
5dd03f1c0c
Massive refactor: added support for generic users!
...
Renamed data/admins to data/users
Moved Admins.pm to Users.pm
Moved various subroutines in AdminCommands.pm to more appropriate locations
Deleted AdminCommands.pm
Improvements to Users.pm
Added `my` command
2020-01-25 12:28:05 -08:00
Pragmatic Software
7feb528024
Factoids: remove version
factoid
2020-01-23 21:09:36 -08:00
Pragmatic Software
3a5224ef26
Factoids: find_factoid no longer cares about built-in commands
2020-01-19 20:17:22 -08:00
Pragmatic Software
898a84c4f0
Factoids: use _name fields
2020-01-16 21:51:03 -08:00
Pragmatic Software
02552081d5
Fix all potential case-sensitivity issues
...
Misc clean-ups and refactors
2020-01-14 18:10:53 -08:00
Pragmatic Software
e6039b6369
Factoids now exported to data_dir
2019-12-30 19:57:47 -08:00
Pragmatic Software
37b7570c7f
Factoids/Quotegrabs: use botnick value when exporting
2019-12-19 23:39:46 -08:00
Pragmatic Software
eef14f68c9
Factoids: improve factoid variable expansion (now aware of --keyword-override and ref_from)
2019-12-14 10:09:28 -08:00
Pragmatic Software
b8c77abd47
Improve and simplify pipe/subcmd logic
2019-09-04 20:18:32 -07:00
Pragmatic Software
6115d73639
Factoids: revert $var channel expansion -- now strict again; will improve shortly
2019-08-20 14:57:12 -07:00
Pragmatic Software
50ebf52371
Factoids: turn debugging back off for $var expansions
2019-08-17 10:11:34 -07:00
Pragmatic Software
15f8a3683e
Factoid improvements
...
- support braced ${variables}
- $var expansion improvements
2019-08-17 10:09:26 -07:00
Pragmatic Software
b7f2c188bc
Improve handling of newlines in factoids
2019-08-06 10:38:46 -07:00
Pragmatic Software
3553692b5a
Fix some more Unicode encoding issues
2019-07-10 18:40:53 -07:00
Pragmatic Software
30992af811
Add some whitespace around this one line
2019-07-06 01:29:14 -07:00
Pragmatic Software
0cc1c67862
Factoids: /code factoids can now contain newlines
2019-06-30 20:48:15 -07:00
Pragmatic Software
2cdb70c5bf
Fix Unicode encoding issues
2019-06-30 15:08:18 -07:00
Pragmatic Software
00eac49ca9
Remove redundant "Loading ..." log messages
2019-06-28 00:56:18 -07:00
Pragmatic Software
5a26aca801
Convert HashObject file format to JSON to support newlines in factoid contents, etc
2019-06-28 00:22:57 -07:00
Pragmatic Software
5e2cb09744
Fix trailing whitespace throughout
2019-06-26 09:34:19 -07:00
Pragmatic Software
5cf13c1bdd
Factoids: Remove use of shellwords
2019-06-22 18:29:54 -07:00
Pragmatic Software
f0181c7a69
Factoids: add default options for named parameters
2019-06-10 09:21:35 -07:00
Pragmatic Software
982d4b4b8d
Factoids: find_factoid now takes an options hash instead
2019-06-09 16:33:27 -07:00
Pragmatic Software
b3ac27758d
Factoids: keywords can now contain spaces
2019-06-09 09:54:42 -07:00
Pragmatic Software
90f3d390bd
Factoids: er, preserve the quotes in arguments
2019-06-08 17:57:31 -07:00
Pragmatic Software
f00cabe4ec
Factoids: correct edge-case mishandling of quoted arguments
2019-06-08 17:52:25 -07:00
Pragmatic Software
5d1310adb3
Factoids: variable modifiers such as :ucfirst now pass through to replacements
2019-06-07 13:16:54 -07:00
Pragmatic Software
4a27a7e59f
Factoids: factoid variable identifiers can now be delimited with braces (e.g.: ${foo})
2019-06-06 15:21:15 -07:00
Pragmatic Software
bffbc8b3d0
Factoids: add requires_arguments
metadata to tell usage
metadata if a usage is required in a pipe or other expansion
2019-06-03 08:50:42 -07:00
Pragmatic Software
563f8da40f
Factoids: usage metadata now understands $0 for keyword
2019-06-03 08:01:52 -07:00
Pragmatic Software
ff3ffea15e
Factoids: factoid variables can now be quoted properly
2019-06-02 22:34:54 -07:00
Pragmatic Software
460df9ef64
Factoids: Remove packages left-over from execute_code_factoid_using_safe's removal
2019-06-02 19:37:34 -07:00
Pragmatic Software
5eeabccaf2
Factoids: remove execute_code_factoid_using_safe
2019-06-02 19:31:25 -07:00
Pragmatic Software
bb08250673
Factoid usage
metadata can now interrupt pipes to display usage message as appropriate
2019-06-02 19:30:35 -07:00
Pragmatic Software
f87e3c7cd8
Factoids: add usage
metadata to show usage message if no arguments supplied
2019-06-02 16:59:27 -07:00
Pragmatic Software
6e98c471d2
Factoids: add allow_empty_args metadata to prevent empty $args from expanding as $nick
2019-06-02 16:28:55 -07:00
Pragmatic Software
e9fc0e5474
Factoids: add flag to prevent --keyword-override parsing
2019-05-31 08:21:27 -07:00
Pragmatic Software
d8a9660e39
Factoids: undo weird $args man-in-the-middle behavior
2019-05-29 10:36:09 -07:00
Pragmatic Software
56f7e2ab7d
Factoids: stop repeatedly trying to expand undefined factoid variables
2019-05-29 09:49:24 -07:00
Pragmatic Software
925a5e57bd
Minor whitespace syntax clean-up throughout
2019-05-28 09:19:42 -07:00
Pragmatic Software
17f5b92a8f
Factoids: use correct arguments when calling alias
2019-05-22 23:12:31 -07:00
Pragmatic Software
bebddb5ea9
Factoids: add require_explicit_args metadata to prevent $args from appending undesirably in aliases
2019-05-13 08:37:36 -07:00
Pragmatic Software
5b4af4ce4b
Factoids: see previous commit message
2019-05-13 00:24:08 -07:00
Pragmatic Software
73741e5418
code-factoids: handle arguments a little better
2019-05-09 21:04:28 -07:00
Pragmatic Software
7da4003ffd
Factoids: replace hard-coded max length values with registry values
2019-05-09 18:04:52 -07:00
Pragmatic Software
0f8966a9ff
No longer trips over its feet
2019-05-07 19:57:09 -07:00
Pragmatic Software
2c66a7144b
Factoids: Properly look-up root keyword data when overriding
2019-05-02 15:04:04 -07:00
Pragmatic Software
1ff38eaacc
Factoids: root keyword can now be overridden
2019-05-02 14:09:33 -07:00
Pragmatic Software
1f6d655a3e
Factoids: Fix broken ref_from when using factfind on an alias
2019-05-02 12:39:05 -07:00
k
a19f40251d
Fix some broken ,fact behavior ( #49 )
2018-08-10 13:12:24 -07:00
Pragmatic Software
8af3682dc3
Add quotes around keywords with spaces in output messages
2018-08-08 17:58:53 -07:00
Pragmatic Software
e1028f84a2
Fix escaping of pipes and command substitutions
2018-05-21 19:27:57 -07:00
Pragmatic Software
81dcc3bee1
Add strictnamespace registry key
2018-05-12 02:52:52 -07:00
Pragmatic Software
fd36d91ac4
Remove left-over capture group
2018-04-01 16:36:08 -07:00
Pragmatic Software
ec117c4aec
Factoids: Fix expansions for real
2018-04-01 16:34:29 -07:00
Pragmatic Software
8dc7db0857
Factoids: Fix expansions again
2018-04-01 15:03:04 -07:00
Pragmatic Software
fe33e3e777
Fix factoid expansion offset
2018-03-31 14:45:43 -07:00
Pragmatic Software
31e38bf2fe
Whoops, forgot a/an in Factoid expansion replacement
2018-03-24 17:37:47 -07:00
Pragmatic Software
e70e016112
Improve factoid variable expansion
2018-03-23 13:34:28 -07:00
Pragmatic Software
0193800c1e
Remove leading spaces when replacing empty factoid variable
2018-01-25 23:37:40 -08:00
Pragmatic Software
920747e86a
Remove dash from factoid variable identifier naming
2018-01-23 13:58:35 -08:00
Pragmatic Software
7e061741da
Improve nick-prefix/override
2018-01-23 13:58:03 -08:00
Pragmatic Software
f8960d79b5
Properly update version factoid on refresh
2018-01-22 23:48:25 -08:00
Pragmatic Software
951c1280ab
Factoids: Do not increment depth for skipped expansions
2018-01-21 20:07:33 -08:00
Pragmatic Software
6c0cbb6ff2
Restrict /msg to level 60+ admins
2018-01-20 08:56:45 -08:00
Pragmatic Software
4311d6662d
Factoids: Preserve case of indefinite article in expansions
2018-01-19 10:46:15 -08:00
Pragmatic Software
3c509b5306
Fix ratelimit override to use correct channel
2017-12-10 18:36:16 -08:00
Pragmatic Software
99be204a95
Add per-channel ratelimit_override registry object to ... override factoid ratelimits on a per-channel basis
2017-12-10 13:18:00 -08:00
Pragmatic Software
f24c26d2ef
Straighten out nickoverride a bit
2017-12-09 13:25:11 -08:00
Pragmatic Software
836a20262f
Use correct command for factoid aliases
2017-11-30 18:53:40 -08:00
Pragmatic Software
7b142c68f5
Fix some UTF8 <=> JSON encoding issues?
2017-11-30 18:46:14 -08:00
Pragmatic Software
51735494b3
Minor improvement to nick addressing
2017-11-30 13:11:39 -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
1b13f00503
Fix utf8 encoding issue with code-factoids?
2017-11-27 19:18:00 -08:00
Pragmatic Software
3b36634fa9
Fix factoid case duplication; enable me/my for pipes
2017-11-27 02:14:34 -08:00
Pragmatic Software
78a12b3a46
Improve nickoverride processing
2017-11-25 20:00:55 -08:00
Pragmatic Software
52d3cadef7
Improve factoid variable expansion
2017-11-23 14:12:43 -08:00
Pragmatic Software
ba970cbc18
Fix factoid channel reference tag duplication
2017-11-20 16:12:13 -08:00
Pragmatic Software
51b1b25b16
Add debugcontext
registry item for $stuff dumps
2017-11-20 16:10:48 -08:00
Pragmatic Software
4d99f1655c
Fix unencoded entity in factoids HTML export
2017-11-19 14:37:02 -08:00
Pragmatic Software
7b903854a3
Remove secretstuff; use $stuff context instead
2017-11-17 21:37:54 -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
69c081fd9a
Limit maximum number of factoid variable expansions
2017-11-12 08:04:42 -08:00
Pragmatic Software
7e76740f5b
Move special var expansion to expand_special_vars
2017-10-09 19:39:54 -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
ab7aa990a0
Add :json modifier to escape variables for JSON
2017-09-23 21:04:21 -07:00
Pragmatic Software
807bfbf235
Persist-key now works on VM-based code-factoids
2017-09-18 21:36:40 -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
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
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
8f9875cf18
Correct $tonick/$nick behavior in factiod interpolation
2017-09-05 17:22:47 -07:00
Pragmatic Software
d6a845f988
Do some basic string validation for factoids and such
2017-09-05 00:27:28 -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
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