Commit Graph

348 Commits

Author SHA1 Message Date
Pragmatic Software d824255c6e Misc fixes and improvements
applets/random_quote.pl: URI encode arguments

Plugins/FuncSed: improve error handling
2022-08-03 05:18:33 -07:00
Pragmatic Software e4becb22a1 FuncBuiltins: maybe-the: special-case some indefinite nouns 2022-07-14 10:15:30 -07:00
Pragmatic Software f7d361beca Core: show previous server:port if connecting without disconnecting 2022-07-10 12:53:17 -07:00
Pragmatic Software 74380f2a72 Core: Use EXIT_SUCCESS/EXIT_FAILURE; misc clean-ups 2022-07-10 12:45:27 -07:00
Pragmatic Software 9f46cf0ebc Factoids: disable nickprefixing when action contains $args at any recursion level 2022-07-09 19:33:43 -07:00
Pragmatic Software d12a463987 Plugin/FuncBuiltins: do not ucfirst on nicks; add more POS to maybe-the 2022-07-09 19:09:27 -07:00
Pragmatic Software 10e49bbbb6 Update factoids 2022-07-08 12:50:30 -07:00
Pragmatic Software 421738498c cpanfile: add Lingua::EN::Tagger 2022-07-08 09:19:27 -07:00
Pragmatic Software 3ab4ed0a81 Plugin/FuncBuiltin: add `maybe-the` function
The `maybe-the` function examines the argument's part-of-speech
classification (noun, verb, etc) to determine whether to prepend
the word "the".
2022-07-08 09:11:56 -07:00
Pragmatic Software 833c20efbb Factoids: do not prefix nick if action has $args 2022-07-08 09:11:16 -07:00
Pragmatic Software a170b28a8b Factoids: fix behavior of factoid look-up 2022-07-05 23:12:12 -07:00
Pragmatic Software 0023790fec applets/(c99,c11)std: better handling of capture groups within -text option 2022-07-04 09:52:50 -07:00
Pragmatic Software 0cf80092a7 Plugins/Wttr: add observation time to default option 2022-07-03 07:22:33 -07:00
Pragmatic Software 87eff496e9 applets/wiktionary: group definitions w/examples; clean up output 2022-06-29 19:38:17 -07:00
Pragmatic Software 3ef58c2bfa applets/wiktionary: improve output 2022-06-27 20:35:02 -07:00
Pragmatic Software 41b69bdfa5 Factoids: add `keep-quotes` metadata for applet commands 2022-06-27 19:52:38 -07:00
Pragmatic Software 780d41e628 Factoids: correct quotemeta2 and make it slightly more readable 2022-06-26 08:42:01 -07:00
Pragmatic Software 5619d30a1b Factoids: fix Unicode issue with factfind 2022-06-25 17:34:06 -07:00
Pragmatic Software c0ade8a2f6 Plugin/GoogleSearch: show 3 matches instead of 1 2022-06-25 17:31:40 -07:00
Pragmatic Software 553fdb884c Plugin/Plang: do not use output_value() on exceptions 2022-06-12 19:33:53 -07:00
Pragmatic Software d003a326aa Plugins/Wttr: add -conditions to default option 2022-05-22 17:12:57 -07:00
Pragmatic Software e7f4729567 pbot-vm: rebuild without print_last_statement() if "cannot subscript something" error 2022-05-01 10:30:34 -07:00
Pragmatic Software 4b5d8aa535 pbot-vm: use %02X for escapes; do not escape \x03 (for IRC colors) 2022-04-08 13:12:37 -07:00
Pragmatic Software d3328a4acd Factoids: `factinfo` now says "Applet" instead of "Module" 2022-04-08 09:13:57 -07:00
Pragmatic Software 3d311296eb pbot-vm: output postprocessing: escape control characters/unprintable characters 2022-04-07 18:24:57 -07:00
Pragmatic Software 3375580a2d pbot-vm: fix parsing of quoted text within GDB/MI 2022-04-06 10:53:07 -07:00
Pragmatic Software 1c57e01fad pbot-vm: escape malformed Unicode on STDOUT 2022-04-04 22:32:53 -07:00
Pragmatic Software 110912e85d pbot-vm: use coderef to simplify escaping of malformed Unicode 2022-04-04 22:10:50 -07:00
Pragmatic Software 5bc47b61d9 pbot-vm: display escaped malformed Unicode in output instead of U+FFFD 2022-04-04 21:54:39 -07:00
Pragmatic Software 757088987d pbot-vm: fix invalid character encountered in JSON string 2022-04-04 21:41:27 -07:00
Pragmatic Software 8381fc7ad2 c99/c11 commands can now take `-text` option to filter output 2022-04-04 10:42:42 -07:00
Pragmatic Software 03fb901291 pbot-vm: fix potential time-out when outputting 0
If the output from a code snippet is `0` without a newline,
Perl treats this as a false value. When Guest::process_command()
returns a false value, that signals to guest-server::serial_server()
that it is the parent returning and so it will not send the result back
to the host.

However, `0\n` is a true value. Solution: always append a final newline to
the guest output.
2022-03-31 19:52:46 -07:00
Pragmatic Software d80b70a2e5 Dequeue cache events when removing SQLite Storage entries 2022-03-23 23:45:00 -07:00
Pragmatic Software 23efee674a Plugin/UrlTitles: update user-agents 2022-03-17 19:17:31 -07:00
Pragmatic Software 1abc466e7a Plugin/UrlTitles: include URL in history file 2022-03-17 16:47:06 -07:00
Pragmatic Software bf8749ff9e Fix `blacklist` command 2022-03-09 12:56:38 -08:00
Pragmatic Software 756895b17f Plugin/UrlTitles: fix indentation 2022-02-27 17:11:55 -08:00
Pragmatic Software c1cfa0ef4e Plugins/UrlTitles: fix indentation 2022-02-27 17:08:30 -08:00
Pragmatic Software 02cc7fc488 Refactor UrlTitles plugin
Moved logic from get_title.pl applet to plugin.
Removed get_title.pl applet.
ProcessManager::execute_process() can now take a reader subref.
2022-02-27 16:58:01 -08:00
Pragmatic Software 76fd5f5fd7 pbot-vm: fix encoding issues; misc clean-ups 2022-02-24 10:39:15 -08:00
Pragmatic Software a7b27098ca Update PBot version 2022-02-15 11:42:55 -08:00
Pragmatic Software 619ff86a94 Rename `compiler` factoid to `vm-client` 2022-02-14 16:47:46 -08:00
Pragmatic Software 3f5a11e608 Plugin/Plang: fix run-time unhandled exception error reporting 2022-01-18 13:42:06 -08:00
Pragmatic Software 02a600fa32 Plugin/Plang: improve error message of unhandled exceptions 2022-01-18 10:59:56 -08:00
Pragmatic Software e421f9b6bc Replace U+200b (zwsp) with U+feff (zwnbsp)
U+feff is now used instead of U+200b for nick-dehighlighting.

U+feff is non-breaking; it will not break-up the word when wrapping. It also
appears to be much more widely supported. In fact, some terminals will simply
strip the bytes -- this allows copying the text as-is, etc.

Additionally, an exclude-list was added to prevent dehighlighting of specific
nicknames. This is because several terminals do not fully support Unicode's
zero-width spaces -- they show up as plain spaces. Certain words for the #c
channel have been added to this exclude list since they are also somewhat
popular as nicknames there.
2022-01-18 10:32:21 -08:00
Pragmatic Software 731a95ef11 Plugins/Plang: rename Grammar to ParseRules 2022-01-03 15:47:30 -08:00
Pragmatic Software c04467b50f Fix minor uninitialized object warning 2022-01-01 21:32:01 -08:00
Pragmatic Software f78e7bea88 Fix `chanrem` command 2022-01-01 21:30:20 -08:00
Pragmatic Software 3d97dc2c33 Rename "modules" to "applets"
"Applet" is a much better name for the external command-line
scripts and programs that can be loaded as PBot commands. They
will no longer be confused with Perl modules.

https://en.wikipedia.org/wiki/Applet
2021-11-19 18:05:50 -08:00
Pragmatic Software 136460e6b4 Expand factoid variables/selectors in arguments to code factoids 2021-11-05 13:08:45 -07:00
Pragmatic Software 4cf1e76169 Update commands and factoids 2021-10-19 21:14:52 -07:00
Pragmatic Software 85fd8397c2 Fix auto-rejoin channels when reconnecting 2021-10-19 21:09:21 -07:00
Pragmatic Software 4809341e0f Commands/Factoids: minor formatting clean-up 2021-10-19 21:05:16 -07:00
Pragmatic Software 347e4ac69f modules/compiler_vm: replace ix.io with 0x0.st for pastes 2021-09-17 13:38:04 -07:00
Pragmatic Software eae16b14b8 modules/compiler_vm: fix -noheaders; manually #including a header once again replaces default includes 2021-09-17 13:30:46 -07:00
Pragmatic Software 3d1479aa59 Users: simplify previous commit 2021-09-14 16:15:00 -07:00
Pragmatic Software fa65bfc878 Users: `id` command can now search by wildcarded hostmasks 2021-09-14 14:23:35 -07:00
Pragmatic Software 5cf9ac1b9f BanList: misc refactors to improve readability 2021-09-12 22:24:29 -07:00
Pragmatic Software 153d771960 BanList: do not update existing bans with server bans
For some reason, various IRC networks do not propagate banlist metadata
such as owner and timestamp when a server rejoins. This causes the
server's banlist entries to contain "set by server" instead of the
original individual who set it and "set on now" instead of when it was
originally set.

This commit modifies PBot's banlist monitoring to only update PBot's
internal banlist metadata when the ban doesn't exist or when the ban is
being updated by an actual individual instead of the server. Now PBot
will remember the original setter and the original timestamp
regardless of whether the IRC server can.
2021-09-12 18:59:36 -07:00
Pragmatic Software 6924bc236d cpanfile: add missing JSON::XS module for significant JSON speed-ups 2021-09-12 11:13:12 -07:00
Pragmatic Software c7bb4b51cd Plugin/Spinach: fix path to Storage::HashObject 2021-09-12 11:11:44 -07:00
Pragmatic Software 74401977e1 Factoids: look-up use_output_queue/preserve_whitespace properly 2021-09-10 11:03:20 -07:00
Pragmatic Software a0265b4a6f MessageHistory: `recall` can use -a and -b together again 2021-09-08 14:05:35 -07:00
Pragmatic Software c3e16410c2 Whoops, execute_process() cannot return undef
If ProcessManager::execute_process() returns undef,
then the loop in Interpreter::interpret() thinks that
the command didn't get handled, and so goes on to look
for other commands. This is now corrected.
2021-09-07 10:18:12 -07:00
Pragmatic Software 7e539cc633 Fix typo 2021-09-06 13:03:01 -07:00
Pragmatic Software e60c4dc1f2 MessageHistory: Add `akadelete` command 2021-09-06 12:43:18 -07:00
Pragmatic Software 169a4c9fc7 Fix minor issue with command piping; misc clean-ups 2021-09-04 20:53:02 -07:00
Pragmatic Software 2451eda70f GoogleSearch: -n option can now appear anywhere 2021-08-28 09:13:08 -07:00
Pragmatic Software aaad36f99c GoogleSearch: fix usage and improve stuff 2021-08-28 09:06:33 -07:00
Pragmatic Software 4096510d05 Replace Text::Levenshtein with Text::Levenshtein::XS
Existing PBot users: please run `cpanm Text::Levenshtein::XS` to install
this module.
2021-08-27 19:57:18 -07:00
Pragmatic Software d1bb30ef94 Replace Text::Levenshtein with Text::Levenshtein::XS
Text::Levenshtein::XS is much, much, much, much faster and more
efficient.

Existing PBot users: Please run `cpanm Text::Levenshtein::XS` to install this
module.
2021-08-27 19:41:51 -07:00
Pragmatic Software 731d795c03 Interpreter: log bot output in message history
Bot output now appears in `recall` and can be `grab`bed.

Moved truncate_result() a bit further down to truncate after target nick
is prefixed to output.
2021-08-26 10:47:59 -07:00
Pragmatic Software e9a8620fb0 Factoids/Selectors: Add missing `use` statement 2021-08-25 22:05:52 -07:00
Pragmatic Software ff298a3862 Factoids: add `factoid` command
The `factoid` commands interprets its arguments as an anonymous factoid.
Useful for testing factoid actions without creating and deleting them.

E.g.:

  <pragma> !factoid /say $args[1:2] --args 'testing hello world args'
    <PBot> hello world
2021-08-25 21:25:18 -07:00
Pragmatic Software fd1c5b66c9 Interpreter: move dehighlight/truncate to output_result() 2021-08-25 19:40:38 -07:00
Pragmatic Software d9a9ef0cc0 Interpreter: fix truncated text with multiple nicks
dehighlight_nicks() was being invoked after truncate_result(), therefore
inserting \x200b zero-width space Unicode characters AFTER the message
was truncated.

Solution: moved dehighlight_nicks() to immediately preceding truncate_result().
2021-08-24 20:27:12 -07:00
Pragmatic Software b7ce503a8d Interpreter: stop processing at the right spot 2021-08-23 22:11:33 -07:00
Pragmatic Software a9eb7cc24b Interpreter: minor clean-up 2021-08-23 21:54:07 -07:00
Pragmatic Software 50d4a2a94d Interpreter: don't stop processing on empty result 2021-08-23 21:51:26 -07:00
Pragmatic Software 48373719d8 Factoids: `preserve_whitespace` now works for all factoids 2021-08-23 19:27:34 -07:00
Pragmatic Software ebb209549a Plugin/FuncBuiltins: Add `ana` function to explicitly fix-up a/an articles 2021-08-23 13:36:11 -07:00
Pragmatic Software b638757f92 Interpreter: fix-up a/an article in front of &{cmdsub}s 2021-08-23 13:23:12 -07:00
Pragmatic Software 68490b6ac5 Factoids: add blank line between `factlog` entries 2021-08-22 09:55:50 -07:00
Pragmatic Software 49d92aa1bd MessageHistory: `recall` special characters can now be escaped 2021-08-19 11:05:36 -07:00
Pragmatic Software d40d602b79 Move script/ to bin/ 2021-08-15 19:42:09 -07:00
Pragmatic Software 1b13123474 updates: remove `background-process` from `recall` command metadata 2021-08-13 14:20:56 -07:00
Pragmatic Software d1df2d325c Improve output of truncation text
Instead of "... [truncated; see http://xxx for full text.]" it more
concisely says "... <truncated; http://...>".

Increased irc.max_msg_len from a very conservative 425 to a more
generous 460. If you have very long channel names or nicknames, or if
you see things being truncated incorrectly, reduce this value.
2021-08-12 22:30:56 -07:00
Pragmatic Software defad20bfd Refactor and simplify atexit routines 2021-08-06 12:59:21 -07:00
Pragmatic Software 3fc39c9359 Core/Commands: remove(): fix arguments passed to unregister() 2021-08-06 11:14:40 -07:00
Pragmatic Software 275ee6952f Plugin/RemindMe: fix double-dequeue issue
Whoops. EventQueue already removes the event after processing it. There
is no point to dequeuing the reminder event from within do_reminder().
Doing this caused EventQueue to dequeue the event following the
reminder event.
2021-08-06 11:02:32 -07:00
Pragmatic Software f2a45d74a6 Plugin/GetUrl: add TODO to header 2021-08-06 10:16:14 -07:00
Pragmatic Software f9d8c09b5b Add simple GetUrl plugin, not autoloaded 2021-08-05 19:35:30 -07:00
Pragmatic Software dd54bc40cb DualIndexSQLiteObject: improve header comments 2021-08-04 22:46:51 -07:00
Pragmatic Software 7aac2bba50 Plugin/RunCommand: output STDERR lines; output error if command not found 2021-08-04 20:03:25 -07:00
Pragmatic Software 03a14c4928 Plugin/RunCommand: silence useless warning 2021-08-04 19:01:57 -07:00
Pragmatic Software 5c43b46477 Plugin/RunCommand: improve pumping and handle lines longer than maximum IRC mesasge length 2021-08-04 18:50:07 -07:00
Pragmatic Software 4c5492f5e9 Plugins/Plang: fix add_factoid() 2021-08-02 18:06:50 -07:00
Pragmatic Software f286ff44a0 Modules: fix `load` command 2021-08-02 17:53:16 -07:00
Pragmatic Software a0e2ba3610 Interpreter: minor comments about getopt 2021-08-02 04:57:52 -07:00
Pragmatic Software 487c84e824 Registry: remove `plugin_dir` 2021-08-02 04:40:45 -07:00
Pragmatic Software f4dbb68221 Rename `irc.onemode` to `irc.modeflag`
- rename track_mode to on_modeflag
- consistently return undef or 1 from handlers
2021-08-01 18:02:10 -07:00
Pragmatic Software 108c2924cc Move some handlers to relevant Handlers modules
- dispatch irc.onemode event for each mode flag
- misc clean-ups
2021-08-01 15:53:58 -07:00
Pragmatic Software 1c5dc69047 Plugins: die if plugin fails to autoload during start-up 2021-07-31 12:05:48 -07:00
Pragmatic Software 17e78cd7fc Commands: add(): improve named-parameter validation 2021-07-31 12:04:50 -07:00
Pragmatic Software 5aeb608052 Commands: fix minor typos in comments 2021-07-30 19:50:30 -07:00
Pragmatic Software 926d57990b Support named-parameters in command registration
- convert several plugins to use named-parameters
- misc clean-ups in unrelated files
2021-07-30 19:01:24 -07:00
Pragmatic Software 483984754a Simplify use of getopt() throughout 2021-07-30 15:01:38 -07:00
Pragmatic Software bbe5b58b97 Plugin/Wttr: recent changes needs default/all moved up in options 2021-07-28 18:37:40 -07:00
Pragmatic Software 7c4c5847ab Interpreter: find factoid channel for dont-replace-pronouns metadata 2021-07-28 18:05:14 -07:00
Pragmatic Software 12cedcd60e Plugin/Wttr: output options in consistent order 2021-07-28 17:33:39 -07:00
Pragmatic Software a27a36a05e Plugin/Wttr: add newlines to output so truncation text is readable 2021-07-28 17:11:44 -07:00
Pragmatic Software 5dd4566ad4 Add `usershow` command to show user metadata 2021-07-27 23:46:54 -07:00
Pragmatic Software 62a477b7c4 Fix rare case where `dont-replace-pronouns` was ignored 2021-07-27 23:25:38 -07:00
Pragmatic Software 44a614b716 VERSION: Fix minor typo in comment 2021-07-27 22:48:27 -07:00
Pragmatic Software 39ee73f0b8 Fix version not updating after `refresh` 2021-07-27 22:38:19 -07:00
Pragmatic Software 59140d4096 Remove `add_nick` mess from ProcessManager 2021-07-27 21:27:03 -07:00
Pragmatic Software 8cff244256 Simplify VERSION.pm 2021-07-27 12:25:56 -07:00
Pragmatic Software 67d2dd5d95 Minor clean-up and polish
- add more comments to VERSION.pm
- minor clean up of logging messages
- minor refactoring
- VERSION.pm will no longer be updated as its own distinct commit
2021-07-27 12:01:42 -07:00
Pragmatic Software bf3891fc1c Update version 2021-07-26 21:46:26 -07:00
Pragmatic Software 6ba7864474 Add missing PBot::Core::Factoids::* files 2021-07-26 21:46:20 -07:00
Pragmatic Software 7cfe088a41 Update version 2021-07-26 21:41:38 -07:00
Pragmatic Software c75be8b4b0 Refactor PBot::Core::Factoids into PBot::Core::Factoids::* 2021-07-26 21:39:44 -07:00
Pragmatic Software f51c9fd841 Update version 2021-07-26 07:46:53 -07:00
Pragmatic Software 5567270f59 Factoids: ensure user has capability when factsetting cap-override 2021-07-26 07:46:50 -07:00
Pragmatic Software b9a2a0a306 Plugin/RunCommand.pm: fix grammar of header comment 2021-07-25 21:30:55 -07:00
Pragmatic Software a4ad219ff1 Plugin/RunCommand: clarify that plugin is not autoloaded by default 2021-07-25 21:23:55 -07:00
Pragmatic Software ecdd914b37 Plugin/RunCommand: import finish too 2021-07-25 19:14:07 -07:00
Pragmatic Software 3d3bbfb784 Update version 2021-07-25 19:07:07 -07:00
Pragmatic Software 2d417e2368 Factoids: fix log_factoid() in add_factoid() 2021-07-25 19:07:03 -07:00
Pragmatic Software 70e82a14d3 Plugin/RunCommand: improve header comments 2021-07-25 18:55:34 -07:00
Pragmatic Software b23860a54c Plugin/RunCommand: update header with comments 2021-07-25 18:54:07 -07:00
Pragmatic Software c393976ab1 Add RunCommand plugin 2021-07-25 18:43:35 -07:00
Pragmatic Software 79c26366f6 Update version 2021-07-25 08:24:49 -07:00
Pragmatic Software f81b64f374 WebPaste: insignificant rename filename field 2021-07-25 08:24:42 -07:00
Pragmatic Software 38ca456fb6 Modules: er, the quotes are needed 2021-07-25 08:24:16 -07:00
Pragmatic Software 34ab87c8a8 Update version 2021-07-24 17:29:56 -07:00
Pragmatic Software ad5e8bc545 Modules: strip quotes from arguments 2021-07-24 17:29:51 -07:00
Pragmatic Software b71e32a9ce Update version 2021-07-24 14:18:22 -07:00
Pragmatic Software baa726bec6 WebPaste: paste as text/plain to 0x0.st (prevents .bin pastes) 2021-07-24 14:18:19 -07:00
Pragmatic Software 7d966b4d4f Update version 2021-07-23 19:24:17 -07:00
Pragmatic Software 7b703ccffe Move Storage and Utils into Core 2021-07-23 19:22:25 -07:00
Pragmatic Software 1b15ba615b Commands: insignificant refactor to remove an extra line 2021-07-23 18:37:45 -07:00
Pragmatic Software 611cc00102 Update version 2021-07-23 18:26:50 -07:00
Pragmatic Software 2b0201343f Progress on polishing things 2021-07-23 18:26:45 -07:00
Pragmatic Software 6fd4245b2e Commands now stored as hash table 2021-07-23 18:26:07 -07:00
Pragmatic Software 2bda82dd4b Update version 2021-07-23 17:01:22 -07:00
Pragmatic Software cca43f965d Add PBot::Core::Handlers 2021-07-23 17:01:18 -07:00
Pragmatic Software d99bef82ba Update version 2021-07-23 16:59:05 -07:00
Pragmatic Software 98598e4203 Rename IRCHandlers to Handlers 2021-07-23 16:57:33 -07:00
Pragmatic Software 0e8e642ff3 Update version 2021-07-23 16:41:55 -07:00
Pragmatic Software 4b3c5d58cf Finish moving commands from Core to Commands 2021-07-23 16:41:32 -07:00
Pragmatic Software 4b80131473 Update version 2021-07-23 10:13:23 -07:00
Pragmatic Software 7f3650004e Utils/PriorityQueue: simplify find_enqueue_position with an alias for $self->{queue} 2021-07-23 10:13:19 -07:00
Pragmatic Software d4f9240c3d Update version 2021-07-23 07:27:27 -07:00
Pragmatic Software 2229eecca4 Progress on moving commands from Core to Commands 2021-07-23 07:24:30 -07:00
Pragmatic Software 6b785622aa Update version 2021-07-22 06:59:43 -07:00
Pragmatic Software b2660352fd Update version 2021-07-22 05:36:56 -07:00
Pragmatic Software b990d482c1 Rename LoadPackages to LoadModules 2021-07-22 05:36:46 -07:00
Pragmatic Software 51c061f31d Update version 2021-07-22 05:09:10 -07:00
Pragmatic Software dfda37227d Refactor Utils::LoadPackages to use @INC 2021-07-22 05:09:07 -07:00
Pragmatic Software c6f8490491 Update version 2021-07-21 13:57:24 -07:00
Pragmatic Software 15e04c40ad Update version 2021-07-21 12:43:36 -07:00
Pragmatic Software a21c475681 Progress on polishing things 2021-07-21 12:43:30 -07:00
Pragmatic Software 91da60bf72 Update version 2021-07-21 10:49:41 -07:00
Pragmatic Software 2ec89864bd Fix cmd_factfind not being found 2021-07-21 10:49:38 -07:00
Pragmatic Software fb0bfc4c2f Update version 2021-07-21 10:08:11 -07:00
Pragmatic Software d4d9b37e76 Commands: Fix cmdset, cmdunset and help commands 2021-07-21 10:08:07 -07:00
Pragmatic Software 8d0d5bc711 Update version 2021-07-20 23:20:47 -07:00
Pragmatic Software fd21e38e2c Rename PBot::PBot to PBot::Core 2021-07-20 23:20:24 -07:00
Pragmatic Software 237d124dc7 Update version 2021-07-20 23:06:16 -07:00
Pragmatic Software abfbc558e8 Progress on refactoring and polishing everything 2021-07-20 23:06:03 -07:00
Pragmatic Software e1d6b1b950 Update version 2021-07-20 22:44:59 -07:00
Pragmatic Software f0e617fef7 Move core packages into PBot/Core 2021-07-20 22:44:51 -07:00
Pragmatic Software 799424fcfa IRCHandlers/Server: remove redundant nicknameinuse handler 2021-07-20 22:01:26 -07:00
Pragmatic Software 31e2a32f35 EventDispatcher: fix typo in comment 2021-07-20 22:00:30 -07:00
Pragmatic Software 767467b904 Update version 2021-07-20 21:38:15 -07:00
Pragmatic Software ea63ef8fe8 Massive reorganization
Storage-related packages have been moved to PBot/Storage/.

MessageHistory_SQLite.pm has been moved to MessageHistory/Storage/SQLite.pm.

Quotegrabs' storage packages have been moved to Plugin/Quotegrabs/Storage/.

IRC handler-related packages have been moved to PBot/IRCHandlers/.

Commands registered by core PBot packages have been moved to PBot/Commands/.

Some non-core packages have been moved to PBot/Utils/.

Several packages have been cleaned up.

TODO: Move remaining core commands and IRC handlers.

TODO: Split AntiFlood.pm into Plugin/AntiAbuse/ files.
2021-07-20 21:38:07 -07:00
Pragmatic Software feead79ad7 DualIndexSQLiteObject: remove left-over whitespace 2021-07-19 17:03:10 -07:00
Pragmatic Software 9142d526d1 Update version 2021-07-19 16:58:30 -07:00
Pragmatic Software eecf756b07 Refactor DualIndexSqliteObject
- use event queue for decaching
- refactor levenshtein_matches
- misc clean-ups
2021-07-19 16:57:02 -07:00
Pragmatic Software b4447d4b4a NickList: clean up comments 2021-07-19 10:54:17 -07:00
Pragmatic Software 9890ca99ee Add some comments about priority levels 2021-07-19 10:49:42 -07:00
Pragmatic Software 354f278cb2 PriorityQueue: add `update_priority()` 2021-07-18 20:49:11 -07:00
Pragmatic Software fcb726d42e Update version 2021-07-18 18:36:24 -07:00
Pragmatic Software a503ce4ec0 NickList: add priorities for event handlers
This ensures the irc.join, irc.quit, etc events get handled first or
last as appropriate.
2021-07-18 18:35:35 -07:00
Pragmatic Software b970ee9aa6 EventDispatcher: store event handlers in priority queue 2021-07-18 18:23:42 -07:00
Pragmatic Software d380422d14 PriorityQueue: rename `get_entry` to `get` 2021-07-18 18:14:28 -07:00
Pragmatic Software a6b2536663 EventQueue: use PriorityQueue class 2021-07-18 17:58:48 -07:00
Pragmatic Software 5818829068 Add PBot::Utils::PriorityQueue
This is extracted from PBot::EventQueue so it can be used more
generally.
2021-07-18 17:55:01 -07:00
Pragmatic Software 6f7a07a1fb Update version 2021-07-17 17:04:17 -07:00
Pragmatic Software b154fe2b5b Significant speed-up when invoking Factoids using DualIndexSQLiteObject as backend 2021-07-17 17:04:12 -07:00
Pragmatic Software e05cc6a33e Update version 2021-07-16 19:08:34 -07:00
Pragmatic Software a7cedd2354 Logger: Add milliseconds to timestamp 2021-07-16 19:08:28 -07:00
Pragmatic Software f5232879e3 Users: fix minor warning 2021-07-16 11:56:23 -07:00
Pragmatic Software c4aa1ee7ce Update version 2021-07-13 20:14:11 -07:00
Pragmatic Software 5a2cc49100 VERSION: Correct URL 2021-07-13 20:13:48 -07:00
Pragmatic Software 287722395c Update version 2021-07-13 19:45:59 -07:00
Pragmatic Software 34d4722580 Make directory structure more Perlish 2021-07-13 19:45:56 -07:00