Commit Graph

1564 Commits

Author SHA1 Message Date
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
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