3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-28 13:42:33 +01:00
Commit Graph

339 Commits

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