Pragmatic Software
6267cc04d2
Finished replacing admin-levels with user-capabilities [FIN commit 2 of 2]; misc clean-ups
2020-02-03 17:19:04 -08:00
Pragmatic Software
f358cd9c73
Interpreter: split_args() now accepts option to toggle preserving of quotes in rest of arguments
2020-02-01 22:14:32 -08:00
Pragmatic Software
61fa6bbb66
Interpreter: recall
/mock
"me" works again
2020-01-29 16:09:38 -08:00
Pragmatic Software
5536d55da2
Interpreter: sigh, add more commands to exempt from my->nick -- I really need to change this to use metadata instead
2020-01-26 20:03:50 -08:00
Pragmatic Software
46940827e0
Interpreter: do not translate my->nick for help
, etc
2020-01-26 18:56:45 -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
d61b1217bb
Interpreter: properly check $from for $botnick
2020-01-21 21:15:01 -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
3da8e22e4e
Add op
and deop
commands
2020-01-11 17:46:44 -08:00
Pragmatic Software
be8ae88dcc
Replace all instances of "localhost" with "pbot"
2020-01-03 20:37:58 -08:00
Pragmatic Software
b8c77abd47
Improve and simplify pipe/subcmd logic
2019-09-04 20:18:32 -07:00
Pragmatic Software
5f2276bf63
Interpreter: disregard quotes in extract_bracketed; replace ;; with ;;;
2019-08-23 14:07:21 -07:00
Pragmatic Software
ff14b8e419
Fix alias escaping
2019-08-06 10:44:10 -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
81ae3a5741
Fix split_line issue where it could sometimes forget tokens when encountering unbalanced quotes
2019-07-08 15:51:55 -07:00
Pragmatic Software
5e2cb09744
Fix trailing whitespace throughout
2019-06-26 09:34:19 -07:00
Pragmatic Software
8c97a57eab
Interpreter: improve split_line
2019-06-25 23:19:57 -07:00
Pragmatic Software
0310145c7d
Interpreter: commands can now be split with ;;
2019-06-25 18:23:21 -07:00
Pragmatic Software
8e21de1f60
Interpreter: split_line is now smarter about JSON and code
2019-06-24 16:47:31 -07:00
Pragmatic Software
4826b1c851
Interpreter: add default options to split_line()
2019-06-10 11:51:48 -07:00
Pragmatic Software
982d4b4b8d
Factoids: find_factoid now takes an options hash instead
2019-06-09 16:33:27 -07:00
Pragmatic Software
0f81584d8f
Interpreter: split_line() now takes an options hash; now accepts "strip_quotes" and "keep_spaces"
2019-06-09 13:57:08 -07:00
Pragmatic Software
0979ac86d9
Interpreter: split_line now accepts a parameter to strip quotes
2019-06-07 13:56:41 -07:00
Pragmatic Software
8814fdfe9b
FactoidCommands: factadd now supports -f option to force overwriting existing factoid
2019-06-02 22:34:17 -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
ef96ba21cb
Interpreter: slightly increase human-like delay
2019-06-01 18:55:08 -07:00
Pragmatic Software
e0a6d9bcb6
Interpreter: remove left-over declaration
2019-05-31 02:27:30 -07:00
Pragmatic Software
fcb4404012
Interpreter: extract_bracketed: fix indentation, minor tweaks
2019-05-30 09:25:31 -07:00
Pragmatic Software
acf35a5df3
Interpreter: write custom extract_bracketed to gracefully handle unbalanced brackets or quotes
2019-05-30 00:27:52 -07:00
Pragmatic Software
b04015286c
Interpreter: minor corrections to split_line
2019-05-28 11:56:06 -07:00
Pragmatic Software
e287887765
Interpreter: rewrite make_args to gracefully handle unbalanced quotes
2019-05-28 11:11:32 -07:00
Pragmatic Software
925a5e57bd
Minor whitespace syntax clean-up throughout
2019-05-28 09:19:42 -07:00
Pragmatic Software
aa19260a24
Interpreter: fix mishandling of spaces when building arglist
2019-05-27 07:43:14 -07:00
Pragmatic Software
a892e8e5c1
Interpreter: add tell nick the <command>
syntax
2019-05-20 13:10:08 -07:00
Pragmatic Software
2dc78f7383
Interpreter: fix incorrect handling of quoted arguments
2019-05-15 10:59:48 -07:00
Pragmatic Software
6f6090efc5
Interpreter: reduce human-like delay durations
2019-05-15 10:59:20 -07:00
Pragmatic Software
73741e5418
code-factoids: handle arguments a little better
2019-05-09 21:04:28 -07:00
Pragmatic Software
f8d8cac7d4
Interpreter: case-insensitive "Why would I want to do that to myself?" exceptions
2019-05-04 19:04:11 -07:00
Pragmatic Software
42f0bb7002
Interpreter: ignore bot commands from unidentified users in +z channels
2018-08-13 20:06:07 -07:00
Pragmatic Software
75f6d86a88
AntiFlood: disregard unreg spam floods on +z channels
2018-08-13 14:25:35 -07:00
Pragmatic Software
16b708851a
Replace missed split with split_args
2018-08-09 22:44:28 -07:00
Pragmatic Software
174de2be8e
Update all commands to understand quoted arguments; factoid names, etc, can now contain spaces
2018-08-08 17:38:57 -07:00
Pragmatic Software
6454ff82aa
Interpreter: support array of positional arguments
2018-08-06 20:23:35 -07:00
Pragmatic Software
7b20a00797
Interpreter: improve parsing of pipes
2018-08-06 18:47:07 -07:00
Pragmatic Software
65644815e0
Interpreter: check for +z chanmode and ignore commands from banned users
2018-08-05 22:48:24 -07:00
Pragmatic Software
e1028f84a2
Fix escaping of pipes and command substitutions
2018-05-21 19:27:57 -07:00
Pragmatic Software
4f54ee669c
Do not do me/my expansion for a few more commands
2018-05-21 18:06:32 -07:00
Pragmatic Software
89f38026d3
Fix preserve whitespace setting
2018-05-21 18:02:16 -07:00
Pragmatic Software
3626399b85
Immediately process output queue if delay <= 0
2018-02-18 16:39:26 -08:00
Pragmatic Software
4064075df9
Force checkflood for output_queue to ensure messages are logged
2018-02-16 11:12:41 -08:00
Pragmatic Software
8248661ef0
Interpreter: Exempt some more keywords from me/my expansion; add "I am" -> "nick is" expansion
2018-02-09 19:09:11 -08:00
Pragmatic Software
774da2f033
Do not replace me
or my
in Spinach lies
2018-01-31 22:12:28 -08:00
Pragmatic Software
7e061741da
Improve nick-prefix/override
2018-01-23 13:58:03 -08:00
Pragmatic Software
8441869fac
Fix embedded command extraction
2017-12-18 03:51:09 -08:00
Pragmatic Software
8fb98d614f
Add ability to override command effective-level
2017-12-11 12:44:19 -08:00
Pragmatic Software
1d2d057d45
Properly flag whether a command was processed and interpreted
2017-12-09 13:26:20 -08:00
Pragmatic Software
f24c26d2ef
Straighten out nickoverride a bit
2017-12-09 13:25:11 -08:00
Pragmatic Software
b2273d32fb
Extract nested command substitutions and pipes
2017-12-08 20:26:08 -08:00
Pragmatic Software
4338455e11
Properly extract embedded commands
2017-12-08 19:28:08 -08:00
Pragmatic Software
e2db94c354
Add WebPaste.pm for rotating paste sites
2017-12-05 21:05:44 -08:00
Pragmatic Software
1378e41c1b
Improve handling of /say, etc, in output text
2017-12-04 21:22:19 -08:00
Pragmatic Software
0d0c12e798
Unescape escaped command substitutions
2017-12-04 20:12:27 -08:00
Pragmatic Software
43d227d1a9
Support command substitution
2017-12-04 18:34:34 -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
3ab8f44a8a
No need to show debugcontext log for empty result
2017-12-02 15:04:36 -08:00
Pragmatic Software
7a53f74e83
Handle commands/pipes with newlines
2017-11-30 18:50:17 -08:00
Pragmatic Software
51735494b3
Minor improvement to nick addressing
2017-11-30 13:11:39 -08:00
Pragmatic Software
6ddfce4cc3
Remove code duplication
2017-11-28 19:10:22 -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
3b36634fa9
Fix factoid case duplication; enable me/my for pipes
2017-11-27 02:14: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
a7f298520d
Temporarily fix /msg, sort of
2017-11-23 14:12:23 -08:00
Pragmatic Software
51b1b25b16
Add debugcontext
registry item for $stuff dumps
2017-11-20 16:10:48 -08:00
Pragmatic Software
fc6e0759d3
Fix dead argument in pipe
2017-11-19 14:39:03 -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
656adae53c
Improvements to piping and stuff
2017-11-17 13:53:23 -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
68279d7a82
Minor refactor of process_line to ignore embedded commands within full commands
2017-11-14 15:27:30 -08:00
Pragmatic Software
d644ac04d5
Limit factoid keywords to 30 characters
2017-11-13 12:00:34 -08: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
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
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
d6a845f988
Do some basic string validation for factoids and such
2017-09-05 00:27:28 -07:00
Pragmatic Software
1b70de807b
Change split / / to split /\s+/ throughout
2017-09-02 00:39:29 -07:00
Pragmatic Software
5ee07e08d2
Replace control chars with escaped ordinals
2017-09-02 00:19:39 -07:00
Pragmatic Software
0fd81482d7
Follow factoid aliases when checking for use_output_queue
2017-08-30 18:03:10 -07:00
Pragmatic Software
b0b1d1affa
Fix incorrect fact_find in interpreter
2017-08-30 06:54:23 -07:00
Pragmatic Software
2ac7b6feb6
Exclude "Why would I want to do that to myself?" from specific commands
2017-08-26 04:06:36 -07:00
Pragmatic Software
1a08156443
Add $0 in factoid action to expand to first keyword used to invoke factoid
2017-08-26 01:45:18 -07:00
Pragmatic Software
17a62b48e4
Limit truncation pastes to 8000 bytes
2017-08-24 15:16:42 -07:00
Pragmatic Software
f6827aa886
Give embedded commands lowest priority so they are not extracted from actual commands
2017-08-24 15:13:20 -07:00
Pragmatic Software
375dd52b41
Add some more commands to me/my-expansion exclusion-list
2017-08-23 19:22:03 -07:00
Pragmatic Software
63bbcb0941
Handle command queue results
2017-08-12 23:42:56 -07:00
Pragmatic Software
c8fa308113
Fix harmless undefined variable warning
2017-08-08 21:18:45 -07:00
Pragmatic Software
e723379c4d
Improve the bot's understanding of "me" and "my"
2017-08-01 21:34:57 -07:00