Commit Graph

1858 Commits

Author SHA1 Message Date
Pragmatic Software 52d3cadef7 Improve factoid variable expansion 2017-11-23 14:12:43 -08:00
Pragmatic Software a7f298520d Temporarily fix /msg, sort of 2017-11-23 14:12:23 -08:00
Pragmatic Software cea2fc66f9 Fix `fact` command to use $stuff; increase factoid keyword length to 30 2017-11-23 14:11:54 -08:00
Pragmatic Software 89d3596dac Update version 2017-11-22 15:25:26 -08:00
Pragmatic Software 834cfaa11d Fix `adminset` not working on hostmasks with anchors 2017-11-22 15:25:14 -08:00
Pragmatic Software a1217190c7 Update version 2017-11-20 16:12:41 -08:00
Pragmatic Software ba970cbc18 Fix factoid channel reference tag duplication 2017-11-20 16:12:13 -08:00
Pragmatic Software 767c0e7532 `factmove` no longer can create factoid keywords with spaces 2017-11-20 16:11:18 -08:00
Pragmatic Software 51b1b25b16 Add `debugcontext` registry item for $stuff dumps 2017-11-20 16:10:48 -08:00
Pragmatic Software 5d85573c6e Update version 2017-11-19 14:39:06 -08:00
Pragmatic Software fc6e0759d3 Fix dead argument in pipe 2017-11-19 14:39:03 -08:00
Pragmatic Software 4d99f1655c Fix unencoded entity in factoids HTML export 2017-11-19 14:37:02 -08:00
Pragmatic Software 1557bbc219 Fix UrlTitles properly 2017-11-19 14:06:17 -08:00
Pragmatic Software b84183e30c Update version 2017-11-19 13:39:03 -08:00
Pragmatic Software edfc01686c Fix UrlTitles to use $stuff 2017-11-19 13:38:55 -08:00
Pragmatic Software 0b9aaf8f79 Update version 2017-11-17 21:38:36 -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 efb53e397f `count` now does whole-word matching 2017-11-17 21:36:41 -08:00
Pragmatic Software a0d3b3271b Update version 2017-11-17 13:55:59 -08:00
Pragmatic Software 33dd854086 Update version 2017-11-17 13:53:30 -08:00
Pragmatic Software 656adae53c Improvements to piping and stuff 2017-11-17 13:53:23 -08:00
Pragmatic Software 73e61b72a7 Update version 2017-11-16 09:24:04 -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 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
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
Pragmatic Software 69f2f5477a Update version 2017-04-10 19:57:39 -07:00
Tomasz Kramkowski 382e47d971 Fix "keys on scalar" deprecation warning on newer perl. (#3)
This patch fixes the warning "Experimental keys on scalar is now
forbidden" which appears when running pbot on newer versions of perl.
2017-04-10 19:55:52 -07:00
Pragmatic Software f65f6df116 Update version 2017-04-10 19:47:48 -07:00
Pragmatic Software d29dcc3765 Slightly improve `recall` 2017-04-10 19:35:14 -07:00
Pragmatic Software 15c17744ba Comment out some verbose log messages 2017-04-10 19:35:14 -07:00
Pragmatic Software 0697035284 Improve error message for ParseDate 2017-04-10 19:35:14 -07:00
Pragmatic Software be80680626 Improve twit detection 2017-04-10 19:35:14 -07:00
Pragmatic Software a21b27a11f $randomnick now limited to nicks who have spoken in last 2 hours 2017-04-10 19:35:14 -07:00
Pragmatic Software cf4478c1a4 Minor bug/typo fixes 2017-04-10 19:35:14 -07:00
Tomasz Kramkowski b5d8f72254 License project under MPL2
This patch adds the file LICENSE which is the verbatim copy of the
Mozilla Public License Version 2.0 as retreived from
https://www.mozilla.org/media/MPL/2.0/index.815ca599c9df.txt on
2017-03-05.

This patch also places license headers for the MPL2 type A variant of
the license header in the following files:

PBot/AntiFlood.pm
PBot/BanTracker.pm
PBot/BlackList.pm
PBot/BotAdminCommands.pm
PBot/BotAdmins.pm
PBot/ChanOpCommands.pm
PBot/ChanOps.pm
PBot/Channels.pm
PBot/Commands.pm
PBot/DualIndexHashObject.pm
PBot/EventDispatcher.pm
PBot/FactoidCommands.pm
PBot/FactoidModuleLauncher.pm
PBot/Factoids.pm
PBot/HashObject.pm
PBot/IRCHandlers.pm
PBot/IgnoreList.pm
PBot/IgnoreListCommands.pm
PBot/Interpreter.pm
PBot/LagChecker.pm
PBot/Logger.pm
PBot/MessageHistory.pm
PBot/MessageHistory_SQLite.pm
PBot/NickList.pm
PBot/PBot.pm
PBot/Plugins.pm
PBot/Plugins/AntiAway.pm
PBot/Plugins/AntiKickAutoRejoin.pm
PBot/Plugins/AntiRepeat.pm
PBot/Plugins/AntiTwitter.pm
PBot/Plugins/AutoRejoin.pm
PBot/Plugins/Counter.pm
PBot/Plugins/Quotegrabs.pm
PBot/Plugins/Quotegrabs/Quotegrabs_Hashtable.pm
PBot/Plugins/Quotegrabs/Quotegrabs_SQLite.pm
PBot/Plugins/UrlTitles.pm
PBot/Plugins/_Example.pm
PBot/Refresher.pm
PBot/Registerable.pm
PBot/Registry.pm
PBot/RegistryCommands.pm
PBot/SQLiteLogger.pm
PBot/SQLiteLoggerLayer.pm
PBot/SelectHandler.pm
PBot/StdinReader.pm
PBot/Timer.pm
PBot/Utils/ParseDate.pm
PBot/VERSION.pm
build/update-version.pl
modules/acronym.pl
modules/ago.pl
modules/c11std.pl
modules/c2english.pl
modules/c2english/CGrammar.pm
modules/c2english/c2eng.pl
modules/c99std.pl
modules/cdecl.pl
modules/cfaq.pl
modules/cjeopardy/IRCColors.pm
modules/cjeopardy/QStatskeeper.pm
modules/cjeopardy/Scorekeeper.pm
modules/cjeopardy/cjeopardy.pl
modules/cjeopardy/cjeopardy_answer.pl
modules/cjeopardy/cjeopardy_filter.pl
modules/cjeopardy/cjeopardy_hint.pl
modules/cjeopardy/cjeopardy_qstats.pl
modules/cjeopardy/cjeopardy_scores.pl
modules/cjeopardy/cjeopardy_show.pl
modules/codepad.pl
modules/compiler_block.pl
modules/compiler_client.pl
modules/compiler_vm/Diff.pm
modules/compiler_vm/cc
modules/compiler_vm/compiler_client.pl
modules/compiler_vm/compiler_server.pl
modules/compiler_vm/compiler_server_vbox_win32.pl
modules/compiler_vm/compiler_server_watchdog.pl
modules/compiler_vm/compiler_vm_client.pl
modules/compiler_vm/compiler_vm_server.pl
modules/compiler_vm/compiler_watchdog.pl
modules/compiler_vm/languages/_c_base.pm
modules/compiler_vm/languages/_default.pm
modules/compiler_vm/languages/bash.pm
modules/compiler_vm/languages/bc.pm
modules/compiler_vm/languages/bf.pm
modules/compiler_vm/languages/c11.pm
modules/compiler_vm/languages/c89.pm
modules/compiler_vm/languages/c99.pm
modules/compiler_vm/languages/clang.pm
modules/compiler_vm/languages/clang11.pm
modules/compiler_vm/languages/clang89.pm
modules/compiler_vm/languages/clang99.pm
modules/compiler_vm/languages/clangpp.pm
modules/compiler_vm/languages/clisp.pm
modules/compiler_vm/languages/cpp.pm
modules/compiler_vm/languages/freebasic.pm
modules/compiler_vm/languages/go.pm
modules/compiler_vm/languages/haskell.pm
modules/compiler_vm/languages/java.pm
modules/compiler_vm/languages/javascript.pm
modules/compiler_vm/languages/ksh.pm
modules/compiler_vm/languages/lua.pm
modules/compiler_vm/languages/perl.pm
modules/compiler_vm/languages/python.pm
modules/compiler_vm/languages/python3.pm
modules/compiler_vm/languages/qbasic.pm
modules/compiler_vm/languages/scheme.pm
modules/compiler_vm/languages/server/_c_base.pm
modules/compiler_vm/languages/server/_default.pm
modules/compiler_vm/languages/server/c11.pm
modules/compiler_vm/languages/server/c89.pm
modules/compiler_vm/languages/server/c99.pm
modules/compiler_vm/languages/server/clang.pm
modules/compiler_vm/languages/server/clang11.pm
modules/compiler_vm/languages/server/clang89.pm
modules/compiler_vm/languages/server/clang99.pm
modules/compiler_vm/languages/server/cpp.pm
modules/compiler_vm/languages/server/freebasic.pm
modules/compiler_vm/languages/server/haskell.pm
modules/compiler_vm/languages/server/java.pm
modules/compiler_vm/languages/server/qbasic.pm
modules/compiler_vm/languages/server/tendra.pm
modules/compiler_vm/languages/sh.pm
modules/compiler_vm/languages/tendra.pm
modules/compliment
modules/cstd.pl
modules/define.pl
modules/dice_roll.pl
modules/excuse.sh
modules/expand_macros.pl
modules/fnord.pl
modules/funnyish_quote.pl
modules/g.pl
modules/gdefine.pl
modules/gen_cfacts.pl
modules/gencstd.pl
modules/get_title.pl
modules/getcfact.pl
modules/google.pl
modules/gspy.pl
modules/gtop10.pl
modules/gtop15.pl
modules/headlines.pl
modules/horoscope
modules/horrorscope
modules/ideone.pl
modules/insult.pl
modules/love_quote.pl
modules/man.pl
modules/map.pl
modules/math.pl
modules/prototype.pl
modules/qalc.pl
modules/random_quote.pl
modules/seen.pl
modules/urban
modules/weather.pl
modules/wikipedia.pl
pbot.pl
pbot.sh

It is highly recommended that this list of files is reviewed to ensure
that all files are the copyright of the sole maintainer of the
repository. If any files with license headers contain the intellectual
property of anyone else, it is recommended that a request is made to
revise this patch or that the explicit permission of the co-author is
gained to allow for the license of the work to be changed.

I (Tomasz Kramkowski), the contributor, take no responsibility for any
legal action taken against the maintainer of this repository for
incorrectly claiming copyright to any work not owned by the maintainer
of this repository.
2017-03-06 00:31:15 +00:00
Pragmatic Software 210099f4e3 Update version 2017-03-03 11:42:43 -08:00
Pragmatic Software 0e24a3758f unban by nick will now go through all akas for matching bans 2017-03-03 11:42:39 -08:00
Pragmatic Software 608130395d Update version 2017-02-27 04:47:02 -08:00
Pragmatic Software 71fabfc0ea Update version 2017-02-22 12:09:11 -08:00
Pragmatic Software 75ca6d61a8 Make AntiTwitter more robust 2017-02-22 12:09:06 -08:00
Pragmatic Software 0685843e3f Update version 2017-02-22 04:18:29 -08:00
Pragmatic Software 9621c6ffbe AntiTwitter: Warn twice before tempban; add logging 2017-02-22 04:18:26 -08:00
Pragmatic Software 30eba50bdc Update version 2017-02-21 05:50:06 -08:00
Pragmatic Software 1e4e101386 Update version 2017-02-21 05:37:48 -08:00
Pragmatic Software 5efc55c306 Ignore interpreted messages in AntiTwitter 2017-02-21 05:37:43 -08:00
Pragmatic Software 6c1e15db80 Update version 2017-02-21 05:26:30 -08:00
Pragmatic Software aac788831a Only one punishment per message! 2017-02-21 05:26:26 -08:00
Pragmatic Software b1432a8112 Update version 2017-02-21 05:20:23 -08:00
Pragmatic Software ca4be630ea Add AntiTwitter plugin 2017-02-21 05:20:17 -08:00
Pragmatic Software 4591e8639b Update version 2017-02-20 18:08:44 -08:00
Pragmatic Software 282d97936f Update version 2017-01-29 18:01:33 -08:00
Pragmatic Software 85b8915494 Fixed some stuff 2017-01-29 18:01:26 -08:00
Pragmatic Software 63f1f973b0 Add missing return 0 to event handler 2016-12-16 19:22:42 -08:00
Pragmatic Software c78dbbb911 Check for value of key instead of existence in loggedin() 2016-12-16 19:20:57 -08:00
Pragmatic Software be2e568066 Update version 2016-12-13 15:42:56 -08:00
Pragmatic Software ca36ee00cd Ignore nicks that have not had activity in the last 1 hour when looking for similar nicks; add nicks to NickList when updating activity if they do not exist yet 2016-12-13 15:42:50 -08:00
Pragmatic Software 3c60a8452c Update version 2016-12-09 15:31:41 -08:00
Pragmatic Software 50c5c15fbd recall now skips nick-prefix and botnick-postfix messages 2016-12-09 15:31:36 -08:00
Pragmatic Software 534523287b Update version 2016-12-06 20:47:29 -08:00
Pragmatic Software 2cc4302c0b Update version 2016-12-04 22:00:55 -08:00
Pragmatic Software c2a2debf3e Nick-floods are now once again detected 2016-12-04 22:00:50 -08:00
Pragmatic Software 4d2a89987b Update version 2016-12-01 05:19:04 -08:00
Pragmatic Software ba7149f518 Add missing parentheses to recently added SQL statements 2016-12-01 05:18:56 -08:00
Pragmatic Software af02bc43d3 Update version 2016-12-01 05:05:10 -08:00
Pragmatic Software a4d23bc445 Er, use OR instead of AND... 2016-12-01 05:05:07 -08:00
Pragmatic Software 9eca3d5adc Update version 2016-12-01 04:57:28 -08:00
Pragmatic Software d47edc100b Improve robustness of message history tracking 2016-12-01 04:57:25 -08:00
Pragmatic Software a5260ef056 Update version 2016-11-30 20:57:28 -08:00
Pragmatic Software ff51114a4f Missed a couple of account/ancestor replacements for nick-changes 2016-11-30 20:57:26 -08:00
Pragmatic Software 961f54f261 Update version 2016-11-30 09:28:36 -08:00
Pragmatic Software 3091516cc6 Reduce scope of $ancestor to nick-changes only
Move message account debug log messages behind a debug toggle
2016-11-30 09:28:19 -08:00
Pragmatic Software 8ba4ffffe4 More robust coverage of aliases when managing message history accounts
When adding a new unknown hostmask to the message history accounts, we now
take significant advantage of the aliases table to find an existing account
id for the hostmask before assigning it a new account id.

Likewise, we now take significant advantage of the aliases table when looking
for a nick-change match.

Fix misc channel case-sensitivity issues, add missing last-seen hostmask
updates, reduce message account linking log verbosity level.
2016-11-29 01:50:49 -08:00
Pragmatic Software bbf45a3fab Fix potential channel name case-sensitivity issues; misc minor fixes 2016-11-29 01:44:31 -08:00
Pragmatic Software 3537b74877 Update last_seen hostmask field in WHO replies 2016-11-29 01:43:11 -08:00
Pragmatic Software 5012886d71 Update version 2016-11-28 12:15:32 -08:00
Pragmatic Software ecd5feced1 AntiKickAutoRejoin: Fix channel case-sensitivity discrepancy and ignore roulette kicks (*BANG!*) 2016-11-28 12:15:26 -08:00
Pragmatic Software 31cb645f30 Update version 2016-11-17 18:34:15 -08:00
Pragmatic Software a5bb523f96 Make secret stuff more secret 2016-11-17 18:34:11 -08:00
Pragmatic Software e37b48822b Update version 2016-11-17 15:57:53 -08:00
Pragmatic Software df8e15b39e Fix factlog for deleted factoids not in global channel 2016-11-17 15:57:48 -08:00
Pragmatic Software 107b4e9883 Update version 2016-11-16 19:15:50 -08:00
Pragmatic Software 3fbefa6746 Put some alias linking messages behind a debug toggle 2016-11-16 19:15:45 -08:00
Pragmatic Software 5d3298462a Add error messages to a couple of commands 2016-11-16 19:14:39 -08:00
Pragmatic Software 0e4f2d1447 Minor effective-level /kick derp 2016-11-16 19:14:00 -08:00
Pragmatic Software fdf529f2ae Update version 2016-11-16 19:07:04 -08:00
Pragmatic Software f3b3e90cdc Add factoid effective-level metadata and ability to kick from such factoids
Factoids can now have an effective-level metadata field. When set, certain
functionality requiring an effective-level will be enabled.

For now, that is currently only the /kick command, which has an effective-level
of 10.

Factoids with an effective-level set will also have the locked metadata
attribute set as well to prevent people from changing the factoid.  The
locked and/or effective-level attributes will be removable only by admins
whose level is equal to or greater than the effective-level.
2016-11-16 19:07:01 -08:00
Pragmatic Software 39399e78ae Allow debug tracing of event handlers; don't remove handlers on error 2016-11-16 18:59:13 -08:00
Pragmatic Software 4ed61096dd Missing hash dereference 2016-11-04 12:40:17 -07:00
Pragmatic Software 6fbd6d5620 Update version 2016-10-29 10:47:12 -07:00
Pragmatic Software 3bd424aacc Fix possible case-sensitivity issues 2016-10-29 10:47:08 -07:00
Pragmatic Software 72faa9169f Update version 2016-10-23 03:52:03 -07:00
Pragmatic Software 170dac5776 Improve `!cmd` and `nick: !cmd` processing 2016-10-23 03:51:59 -07:00
Pragmatic Software 0397068a7f Undo recent blink addition 2016-10-23 03:50:34 -07:00
Pragmatic Software 7f00047af8 Update version 2016-10-14 05:56:57 -07:00
Pragmatic Software 8addeb5d49 Allow "nick: !command" to address to nick; minor improvements 2016-10-14 05:56:54 -07:00
Pragmatic Software 4764b034e1 Update version 2016-09-28 14:13:47 -07:00
Pragmatic Software c64dca7b07 Forgot a return 0 in an IRC handler, causing other related handlers to not fire after that handler 2016-09-28 14:13:44 -07:00
Pragmatic Software 49a21b2027 Update version 2016-09-25 12:59:05 -07:00
Pragmatic Software c56b9662b8 Whoops, fix nick-similarity behavior for non-nicks 2016-09-25 12:59:03 -07:00
Pragmatic Software c6473d0255 Update version 2016-09-25 00:24:52 -07:00
Pragmatic Software 2001fc1908 Whoops, return proper nick-casing for exact-match is_present_similar() result 2016-09-25 00:24:49 -07:00
Pragmatic Software 81e106285e Update version 2016-09-25 00:03:40 -07:00
Pragmatic Software f34854fcec Add nick similarity completion
Previously, the bot wouldn't address people by nick if the provided nick
argument doesn't exist in the channel.

Now, the bot's nick list is searched for a nick with a certain similarity
percentage in the order of most recently spoken nicks first. This allows
the bot to address nicks when somebody may have forgotten to add a trailing
underscore/punctuation or may have typoed the nick.

The similarity percentage can be set via the interpreter->nick_similiarty
registry key.  A value of 0 should disable the behavior.
2016-09-25 00:03:37 -07:00
Pragmatic Software 6369a8df99 Update version 2016-09-23 18:32:03 -07:00
Pragmatic Software 3fd2519a87 Minor text change; don't aggressively pursue ping-timeouts 2016-09-23 18:32:00 -07:00
Pragmatic Software d8854603c3 Update version 2016-09-22 08:26:46 -07:00
Pragmatic Software 0cd4102d37 Whoops, NickList should be registered after IRCHandlers since IRCHandlers depends on NickList for AntiFlood QUIT handling 2016-09-22 08:26:42 -07:00
Pragmatic Software 4091127213 Make aka usage message more concise 2016-09-22 08:25:50 -07:00
Pragmatic Software e4d62a2e18 Update version 2016-09-13 12:43:31 -07:00
Pragmatic Software 754d38b50e Fix mismatching WHO id if no WHO replies 2016-09-13 12:43:27 -07:00
Pragmatic Software 1f03985178 Update version 2016-09-02 02:17:12 -07:00
Pragmatic Software 687a5e0ae2 Check WHO when joining channels
When joining a channel, check the WHO list for that channel in order
to obtain all hostmask, nickserv and gecos information and check for
potential ban evasions.
2016-09-02 02:17:10 -07:00
Pragmatic Software 87d02af264 check_bans now can do a dry-run 2016-09-02 02:12:20 -07:00
Pragmatic Software ca5b832ddf Replace baninfo dump with terse line 2016-09-02 02:09:43 -07:00
Pragmatic Software 3225d74206 Update version 2016-08-30 02:14:36 -07:00
Pragmatic Software 2c554328c9 Whoops, do check-bans on join for unidentified users as well when extended-join capability is active 2016-08-30 02:14:21 -07:00
Pragmatic Software 8102e1bc21 Update version 2016-08-29 20:47:49 -07:00
Pragmatic Software d07458425f No need to WHOIS on joins if extended-join is available 2016-08-29 20:47:46 -07:00
Pragmatic Software ca349804ca Update version 2016-08-28 22:36:50 -07:00
Pragmatic Software eff8046f2c kick command now provides random insult if no kick reason is given 2016-08-28 22:36:46 -07:00
Pragmatic Software c93d3db39c Update version 2016-08-28 03:49:30 -07:00
Pragmatic Software 1442485d0b Support account-notify and extended-join capabilities 2016-08-28 03:49:27 -07:00
Pragmatic Software 43351ed8c2 Update version 2016-08-26 04:52:43 -07:00
Pragmatic Software 08a26a70a7 Minor derp with log message 2016-08-26 04:52:38 -07:00
Pragmatic Software 255b42efee Update version 2016-08-26 04:31:55 -07:00
Pragmatic Software 2dea20130f Missed a spot 2016-08-26 04:31:51 -07:00
Pragmatic Software 26c80d8351 Update version 2016-08-26 04:02:33 -07:00
Pragmatic Software c13f3ae9dc Catch more rare scenarios for strongly linking accounts 2016-08-26 04:02:30 -07:00
Pragmatic Software e532c5711f Update version 2016-08-25 01:42:11 -07:00
Pragmatic Software 568c1c8732 Use ? instead of ! to denote nickchange akas 2016-08-25 01:42:06 -07:00
Pragmatic Software ba6fb2c2d7 Improve linking of accounts 2016-08-25 01:41:32 -07:00
Pragmatic Software 6d0a548c26 Update version 2016-08-17 20:34:49 -07:00
Pragmatic Software 857d1aa0d3 Refactor message account linking
Linking of message accounts is now significantly less likely to produce
false-positives.

Previously, any hostmasks with matching nick!*@* would be strongly linked
together.  This led to falsely-linking accounts, either inadvertently or
intentionally.

For example, Bob might also be known as Bob_ and Bobby,
but primarily uses Bob as his main nick.  Somebody else might join with
Bobby and end up being linked to Bob.  Now both Bob and the new Bobby are
linked together as the same person, but likely with different *!user@host.

Now if the new Bobby ever gets banned, then Bob will also end up being
banned for evading Bobby's ban.

This was a sore spot in the previous linking implementation.

This new implementation has several adjustments to more intelligently link
accounts only when they're proven beyond a reasonable doubt to be the same
person (e.g. by matching nickserv accounts, etc).

Consequently, rather than aggressively linking accounts and catching more
ban-evaders at the risk of potentially falsely-linking accounts and falsely
detecting innocent people as ban-evaders, this new implementation will instead
link accounts more reliably at the risk of potential ban-evaders not yet being
linked together and thus being able to evade a ban.

This is a more preferable and reasonable risk.  Active channel ops should be
able to catch any obnoxious ban-evaders that slip through this net.
2016-08-17 20:34:45 -07:00
Pragmatic Software d77ea29b47 Update version 2016-08-01 01:46:30 -07:00
Pragmatic Software 96afc969b3 Update version 2016-07-15 14:09:33 -07:00
Pragmatic Software 674a96431b Improve nick-change evasion detection logic 2016-07-15 14:09:29 -07:00
Pragmatic Software 133b5d1875 Update version 2016-07-01 13:29:46 -07:00
Pragmatic Software 949dc14525 Command queue no longer delays commands relative to each other 2016-07-01 13:29:26 -07:00
Pragmatic Software b03a4b68e6 Update version 2016-07-01 13:03:10 -07:00
Pragmatic Software 41030b5686 Quick rough-draft of auto-rejoin plugin 2016-07-01 13:02:58 -07:00
Pragmatic Software de856f3887 Now joins channel if /invited (and channel is registered and enabled) 2016-07-01 13:01:34 -07:00
Pragmatic Software b215dfe9de Add command queue for delayed command processing 2016-07-01 13:00:20 -07:00
Pragmatic Software 4cb77ba143 Minor fix max_recall_time/max_messages initialization 2016-07-01 12:59:31 -07:00
Pragmatic Software bdfd17612c Add is_active($channel) to determine if $channel is added and enabled 2016-07-01 12:58:29 -07:00
Pragmatic Software 2792a0cb0b Ensure lowercased parameters 2016-07-01 12:56:25 -07:00
Pragmatic Software ff7141a3d6 Minor improvements 2016-07-01 12:55:52 -07:00
Pragmatic Software 35ef8a7af6 Update version 2016-06-25 18:09:53 -07:00
Pragmatic Software dcacec18c6 Totally not a bug
Extremely minor rearrangement of interpreter logic so that `!commands` are
parsed before `command, botnick`. Totally not a bug at all. Pay no attention.
2016-06-25 18:09:47 -07:00
Pragmatic Software bc2bbb8fde Update version 2016-04-10 18:35:18 -07:00
Pragmatic Software b5c107bcbb Remove extraneous comma 2016-04-10 18:35:11 -07:00
Pragmatic Software 5d62f9e728 Update version 2016-03-15 12:45:17 -07:00
Pragmatic Software 3d90b8fbea Update version 2016-03-06 22:25:26 -08:00
Pragmatic Software 1e892f4ca1 Add silent option to countertriggers 2016-03-06 22:25:22 -08:00
Pragmatic Software 40c5ba8268 Update version 2016-02-25 00:51:55 -08:00
Pragmatic Software b87db378cf Do not trigger ban evasion if mask matches banmask; use *!*@host instead of *!user@ip-mask for evasions 2016-02-25 00:51:52 -08:00
Pragmatic Software 75b29e78c5 Update version 2016-02-25 00:47:54 -08:00
Pragmatic Software 76d9184c1d Add explicit dereferences 2016-02-25 00:46:55 -08:00
Pragmatic Software fb846a36ed Obey ignorelist in Counter plugin on_public() 2016-02-25 00:45:46 -08:00
Pragmatic Software 99e505b811 Add `silent` parameter to prevent logging of ignored messages 2016-02-25 00:45:03 -08:00
Pragmatic Software d344e6d667 Update version 2016-02-21 01:41:51 -08:00
Pragmatic Software 00d5cef482 Update version 2016-02-19 20:45:01 -08:00
Pragmatic Software f82a0cd64e Improvements to Counter plugin 2016-02-19 20:44:57 -08:00
Pragmatic Software f2bd3986b7 Update version 2016-02-19 00:18:03 -08:00
Pragmatic Software be18316268 For default installs, revert aka level and don't set max_recall_time 2016-02-19 00:17:54 -08:00
Pragmatic Software b70cf6ad0e Update version 2016-02-18 16:11:29 -08:00
Pragmatic Software 7cc0912712 Restrict aka to admins, and add max_recall_time limit 2016-02-18 16:11:26 -08:00
Pragmatic Software 94026f4488 Update version 2016-02-17 14:57:30 -08:00
Pragmatic Software 1339b30c4b Only admins can add counter triggers 2016-02-17 14:57:24 -08:00
Pragmatic Software 8792633b6a Minor improvement to `aka -w` 2016-02-17 14:56:57 -08:00
Pragmatic Software 124c5c3577 Update version 2016-02-14 18:29:06 -08:00
Pragmatic Software d48cc9d976 Skip only bad triggers instead of all triggers 2016-02-14 18:29:00 -08:00
Pragmatic Software a8983d3a86 Update version 2016-02-14 18:13:33 -08:00
Pragmatic Software d251d0ac7a Add countertrigger command to Counter plugin 2016-02-14 18:13:27 -08:00
Pragmatic Software d8c2084587 Update version 2016-02-13 18:39:18 -08:00
Pragmatic Software 98ee3bef02 Add Counter plugin 2016-02-13 18:39:12 -08:00
Pragmatic Software a3ade65954 Rename unregister_by_name to unregister 2016-02-13 18:38:43 -08:00
Pragmatic Software 8af19a75e9 Delete plugin subs /after/ calling unload() 2016-02-13 18:37:53 -08:00
Pragmatic Software f59e00e5c9 Update version 2016-02-10 10:14:15 -08:00
Pragmatic Software 7bb18e00a7 Use binary attribute for CSV 2016-02-10 10:14:12 -08:00
Pragmatic Software 194bff37db Update version 2016-02-10 07:10:39 -08:00
Pragmatic Software 110c9cc548 Use CSV for GECOS field 2016-02-10 07:10:37 -08:00
Pragmatic Software c97ba1de20 Update version 2016-02-10 03:42:45 -08:00
Pragmatic Software ddeef3cc62 Add support for GECOS 2016-02-10 03:42:42 -08:00
Pragmatic Software 15da1428be Update version 2016-01-29 20:02:58 -08:00
Pragmatic Software 7ccd36d042 Update version 2016-01-29 19:56:34 -08:00
Pragmatic Software 0411249b29 Add AntiRepeat plugin 2016-01-29 19:56:29 -08:00
Pragmatic Software 2b00ce0af5 Update version 2016-01-29 13:09:01 -08:00
Pragmatic Software b4e8302f32 Do not override pre-existing registry with default values 2016-01-29 13:08:40 -08:00
Pragmatic Software 0d70d85506 Update version 2016-01-29 12:59:17 -08:00
Pragmatic Software 4c5227b351 Unregister timers by id instead of subref 2016-01-29 12:59:07 -08:00
Pragmatic Software 6e4c7853f2 Update version 2016-01-26 19:23:06 -08:00
Pragmatic Software 0b5435bc7d Refactor whitelist 2016-01-26 19:23:03 -08:00
Pragmatic Software 6631b5752e Update version 2016-01-26 09:04:06 -08:00
Pragmatic Software 4a3ec27d78 Improve whitelist functionality 2016-01-26 09:04:03 -08:00
Pragmatic Software 5caa814e44 Update version 2016-01-24 03:02:18 -08:00
Pragmatic Software 8ac4a5999d Add whitelist to blacklist check 2016-01-24 03:02:14 -08:00
Pragmatic Software 01eb05a05e Update version 2016-01-23 06:03:51 -08:00
Pragmatic Software 745686eb75 Update ban-whitelist to support user-whitelist 2016-01-23 06:03:47 -08:00
Pragmatic Software 54973eca0b Update version 2016-01-20 08:13:37 -08:00
Pragmatic Software d1e3d8267d Update version 2016-01-19 06:51:42 -08:00
Pragmatic Software 14124da3ac Embedded triggers now work at beginning of message 2016-01-19 06:51:40 -08:00
Pragmatic Software 6fe7d4bd75 Update version 2016-01-16 16:55:53 -08:00
Pragmatic Software 4ef978963c Improve `unbanme` behavior 2016-01-16 16:55:48 -08:00
Pragmatic Software 2e0a5e411c Make "is" optional in `factadd` 2016-01-16 16:55:18 -08:00
Pragmatic Software 4d6348c5b0 Update version 2015-12-22 17:24:13 -08:00
Pragmatic Software 01fa391fec Update version 2015-12-22 08:13:02 -08:00