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
Pragmatic Software
23c2c3d84e
Single-quotes now behave as expected for parse_arguments()
2017-08-23 19:16:32 -07:00
Pragmatic Software
98a061b232
Fix $nick and $arg being overridden by factoids
2017-08-23 19:14:46 -07:00
Pragmatic Software
e5f5aa2c15
Treat ping timeouts aggressively again
2017-08-23 00:22:40 -07:00
Pragmatic Software
6e0456940b
Repeatedly expand factoid variables for sub-expansions
2017-08-23 00:21:46 -07:00
Pragmatic Software
51019a17ab
Update version
2017-08-18 00:53:16 -07:00
Pragmatic Software
716db70664
Add eval
command to evaluate arbitrary bot code (level 99+ admins only)
2017-08-18 00:53:12 -07:00
Pragmatic Software
f9fbae2663
Anti-repeat now case-insensitive
2017-08-18 00:52:21 -07:00
Pragmatic Software
4d358fd86e
ActionTriggers no longer case-insensitive (whoops)
2017-08-18 00:51:53 -07:00
Pragmatic Software
05c47bc675
Uppercase only type, not args, in ActionTrigger departure handler
2017-08-15 20:12:07 -07:00
Pragmatic Software
dc69010cad
Update version
2017-08-12 23:43:42 -07:00
Pragmatic Software
c60f344bd1
Add ActionTrigger plugin
2017-08-12 23:43:36 -07:00
Pragmatic Software
63bbcb0941
Handle command queue results
2017-08-12 23:42:56 -07:00
Pragmatic Software
7b99c90429
Show repeats remaining in listing
2017-08-12 23:41:09 -07:00
Pragmatic Software
51f36df8ff
Update version
2017-08-12 16:18:29 -07:00
Pragmatic Software
669733f353
Add repeatable reminders; misc sanity checks
2017-08-12 16:18:25 -07:00
Pragmatic Software
1f212c1886
Update version
2017-08-12 04:43:11 -07:00
Pragmatic Software
4cb7c30dd3
Delete reminders that have expired (remindee not around for 31 days)
2017-08-12 04:43:07 -07:00
Pragmatic Software
d104005ee9
Update version
2017-08-12 04:06:37 -07:00
Pragmatic Software
fa55b36d09
Remove left-over superflurous declaration
2017-08-12 04:06:33 -07:00
Pragmatic Software
4724057860
Update version
2017-08-12 04:03:41 -07:00
Pragmatic Software
0a1d529434
RemindMe now supports listing and deleting reminders; added some sanity checking
2017-08-12 04:03:37 -07:00
Pragmatic Software
f1e2b139d9
Update version
2017-08-12 01:29:08 -07:00
Pragmatic Software
97aae4bddc
Prepend channel name to factshow output if belongs to different channel
2017-08-12 01:28:55 -07:00
Pragmatic Software
f3d84931b1
Add ability to check if a nick is present in any channels
2017-08-12 01:28:23 -07:00
Pragmatic Software
a904fbdccb
Update version
2017-08-12 01:24:44 -07:00
Pragmatic Software
3e6e56d2e5
Extremely basic rudimentary RemindMe plugin (work-in-progress)
2017-08-12 01:24:26 -07:00
Pragmatic Software
3299944e9b
Update version
2017-08-09 01:22:16 -07:00
Pragmatic Software
dc7406ccb8
Fix a couple of keys on scalar
2017-08-09 01:22:13 -07:00
Pragmatic Software
b24cd5b238
Update version
2017-08-08 21:18:50 -07:00
Pragmatic Software
c8fa308113
Fix harmless undefined variable warning
2017-08-08 21:18:45 -07:00
Pragmatic Software
c3067533b2
Enable getopt bundling for recall
2017-08-08 21:18:29 -07:00
Pragmatic Software
485ccf689c
Fix factadd and factchange optional channel parameter behavior
2017-08-08 21:18:00 -07:00
Pragmatic Software
334b414f7d
Whoops, extraneous "my" harmlessly overshadows a variable. Fixed.
2017-08-08 21:17:11 -07:00
Pragmatic Software
74e3a03d42
Update version
2017-08-05 21:38:49 -07:00
Pragmatic Software
1158e3e815
Add ability to reload various config/data files
2017-08-05 21:38:46 -07:00
Pragmatic Software
93a482490d
Ensure version
factoid is always created after load()
2017-08-05 20:25:26 -07:00
Pragmatic Software
16f34026da
Add ability to clear DualIndexHashObject
2017-08-05 20:15:15 -07:00
Pragmatic Software
e5bd377477
Add ability to clear HashObject; rename load/save
2017-08-05 20:14:49 -07:00
Pragmatic Software
aa65839827
Don't use keys on scalar
2017-08-05 20:10:54 -07:00
Pragmatic Software
62de9fd223
Update version
2017-08-05 05:58:49 -07:00
Pragmatic Software
0e62ae65b0
Correct behavior for exceeding allowed unbanmes
2017-08-05 05:58:45 -07:00
Pragmatic Software
1d0ec55e60
Update version
2017-08-05 05:31:49 -07:00
Pragmatic Software
121b264cef
unbanme
now automatically finds all appropriate channel bans, no need to specify channel parameter
2017-08-05 05:31:46 -07:00
Pragmatic Software
b66bac2359
Use concise duration for recall timestamp
2017-08-04 21:05:55 -07:00
Pragmatic Software
381b4bee4b
Use Time::Duration for rate_limit message
2017-08-04 21:05:31 -07:00
Pragmatic Software
5ac5229bf3
Update version
2017-08-03 23:19:10 -07:00
Pragmatic Software
53c6177801
Restore immediately
functionality to unban/unmute
2017-08-03 23:19:02 -07:00
Pragmatic Software
1dcbcef14a
Update version
2017-08-03 16:15:57 -07:00
Pragmatic Software
45c47aaea7
Remove explicit check if command exists when looking for existing factoids
2017-08-03 16:15:52 -07:00
Pragmatic Software
7aa9c4f182
Update version
2017-08-03 15:21:48 -07:00
Pragmatic Software
68821bb0f8
BlackList now respects channel for $a: and $r:
2017-08-03 15:21:46 -07:00
Pragmatic Software
9bd80687b1
Update version
2017-08-03 14:13:32 -07:00
Pragmatic Software
1d79e5f46d
Oops, return SOMETHING from sl
2017-08-03 14:13:29 -07:00
Pragmatic Software
ea991fc33b
Update version
2017-08-03 13:41:09 -07:00
Pragmatic Software
3d49883104
Add magic command
2017-08-03 13:40:54 -07:00
Pragmatic Software
20eed129e2
Update version
2017-08-03 13:30:45 -07:00
Pragmatic Software
2746c14f7c
Improved unban queue handling
2017-08-03 13:30:42 -07:00
Pragmatic Software
53ffb271b3
Commands no longer case-sensitive
2017-08-03 13:30:18 -07:00
Pragmatic Software
2236a00877
Remove "Sent." message from sl
2017-08-03 13:29:41 -07:00
Pragmatic Software
a76713a612
Match channel exactly in blacklist
2017-08-03 13:29:20 -07:00
Pragmatic Software
9864ce09ae
Factoid doesn't have effective-level, not the bot itself...
2017-08-03 13:28:52 -07:00
Pragmatic Software
c9c39673d8
Update version
2017-08-01 21:37:21 -07:00
Pragmatic Software
4f628b4cd7
AntiTwitter nicks now case-insensitive... whoops!
2017-08-01 21:37:00 -07:00
Pragmatic Software
85d74f53b1
Message history improvements
2017-08-01 21:36:31 -07:00
Pragmatic Software
b932fe73eb
Move WHO stuff to IRCHandlers.pm
2017-08-01 21:35:56 -07:00
Pragmatic Software
e723379c4d
Improve the bot's understanding of "me" and "my"
2017-08-01 21:34:57 -07:00
Pragmatic Software
74fe574332
Make channel argument optional for factadd, factrem and factchange (other fact commands eventually...)
2017-08-01 21:33:57 -07:00
Pragmatic Software
121de07ae2
Whoops, attempted to modify current $action in loop
2017-08-01 21:31:58 -07:00
Pragmatic Software
06eb50736d
Update version
2017-06-19 18:21:53 -07:00
Pragmatic Software
f3620ddd90
Normalize /session hostmasks
2017-06-19 18:21:47 -07:00
Pragmatic Software
aadc829865
Update version
2017-06-19 00:37:38 -07:00
Pragmatic Software
9344c19003
Oops, add IF NOT EXISTS to index creation
2017-06-19 00:37:32 -07:00
Pragmatic Software
ef6c44f17d
Update version
2017-06-18 03:45:38 -07:00
Pragmatic Software
cfba69b09f
Minor correction of a log message
2017-06-18 03:45:35 -07:00
Pragmatic Software
6a64907bd2
Update version
2017-06-18 03:40:58 -07:00
Pragmatic Software
fa854c087f
Normalize x-random hostmasks with user field to not pollute message database
...
Significant optimizations to message database structure and queries
2017-06-18 03:40:51 -07:00
Pragmatic Software
cc3154a2c6
Flag SQLite queries that take more than 100ms to complete, if SQL logging is enabled
2017-06-18 03:37:01 -07:00
Pragmatic Software
c8d2f8e632
Update version
2017-06-11 23:33:42 -07:00
Pragmatic Software
c2ed83b8a0
Optimize some message history SQL
2017-06-11 23:33:38 -07:00
Pragmatic Software
caf254ab73
Update version
2017-06-07 19:31:14 -07:00
Pragmatic Software
8612b7c210
Update version
2017-05-23 17:05:31 -07:00
Pragmatic Software
29f6510ec2
Check for existing temp ban before temp-banning
2017-05-23 17:05:25 -07:00
Pragmatic Software
7357ba706e
Update version
2017-05-21 02:23:21 -07:00
Pragmatic Software
ac246dbdef
Increase timer resolution from 10 seconds to 1 second
2017-05-21 02:23:15 -07:00
Pragmatic Software
2d85b14b2e
Add ircd config mapping; automatically unban certain types of bans after 7 days
2017-05-21 02:20:44 -07:00
Pragmatic Software
35b1c13012
Make certain unban actions immediate instead of using unban queue
2017-05-21 02:18:44 -07:00
Pragmatic Software
414b11f787
Make unban queue more robust; allow immediate unban/unmute too
2017-05-21 02:18:00 -07:00
Pragmatic Software
3cd63f5161
Update version
2017-05-20 23:48:35 -07:00
Pragmatic Software
461f1a3066
Use unban queue to group multiple -b/-q into a single command, with a delay between multiple commands
2017-05-20 23:48:03 -07:00
Pragmatic Software
a219f3d9a7
AntiTwitter: use more restrictive nick-similarity value
2017-05-20 23:45:30 -07:00
Pragmatic Software
373ebc03b3
Improve is_present_similiar to accept custom similarity values
2017-05-20 23:44:45 -07:00
Pragmatic Software
f5be26a98c
Use arg bundling for aka
2017-05-20 23:43:34 -07:00
Pragmatic Software
f2f88d9caf
Update version
2017-05-14 05:45:52 -07:00
Pragmatic Software
08ac91f11b
Update version
2017-05-14 01:39:07 -07:00
Pragmatic Software
5bc65c9f67
Update version
2017-05-13 23:57:23 -07:00
Pragmatic Software
05f27d0c8f
Update version
2017-05-13 23:43:05 -07:00