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
Pragmatic Software
cb37eb1ce7
Make channel intelligently optional for more fact* commands
2017-08-27 00:56:55 -07:00
Pragmatic Software
fb671ab4de
Update version
2017-08-26 22:59:56 -07:00
Pragmatic Software
467a04252b
Update version
2017-08-26 21:42:07 -07:00
Pragmatic Software
2cd007d6c4
Execute code-factoids in action_with_args
2017-08-26 21:42:01 -07:00
Pragmatic Software
e9971cf29d
Factlog revision for factredo now consistent
2017-08-26 21:40:27 -07:00
Pragmatic Software
03b2b8d7b9
Remove left over debug messages
2017-08-26 21:37:31 -07:00
Pragmatic Software
a723bc3f65
Completely botched undo/redo for global factoids -- fixed now
2017-08-26 21:35:46 -07:00
Pragmatic Software
b50f9f95ce
Update version
2017-08-26 07:04:10 -07:00
Pragmatic Software
57af14413e
Add ability to undo/redo factoid revisions
2017-08-26 07:03:01 -07:00
Pragmatic Software
c28c19811f
Update version
2017-08-26 04:06:40 -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
428268a415
Update version
2017-08-26 03:46:01 -07:00
Pragmatic Software
770e678170
code-factiod symbol name exclusion now more robust
2017-08-26 03:45:58 -07:00
Pragmatic Software
3e2ffe7d61
Update version
2017-08-26 01:50:44 -07:00
Pragmatic Software
6d552cc710
Double-quoted $0 in code-factoids now expand to root-keyword
2017-08-26 01:50:42 -07:00
Pragmatic Software
c580fde95c
Update version
2017-08-26 01:45:20 -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
d0f837ee94
Update version
2017-08-25 23:36:14 -07:00
Pragmatic Software
06d341b41f
Automagically transpose a/an preceding factoid variable expansion
2017-08-25 23:36:11 -07:00
Pragmatic Software
bedbe6e370
Update version
2017-08-25 15:32:35 -07:00
Pragmatic Software
8cae7a0847
Pre-expand factoid variables in code-factoids
2017-08-25 15:32:28 -07:00
Pragmatic Software
fad64381a4
Update version
2017-08-24 15:19:18 -07:00
Pragmatic Software
7f2f32f3d0
Limit max action length from code-factoid result
2017-08-24 15:19:12 -07:00
Pragmatic Software
556821805f
Do not allow empty or too long factoids with factchange
2017-08-24 15:18:41 -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
b0a4407951
Update version
2017-08-23 19:51:53 -07:00
Pragmatic Software
51f740f50e
Update version
2017-08-23 19:25:51 -07:00
Pragmatic Software
872d31528a
Add code-factoids!
2017-08-23 19:25:43 -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
6f9d9aba07
Improve factmove
detection of channel
2017-08-23 19:18:14 -07:00