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
4ccc94de19
Move lib/Plang back to root
2021-07-14 20:33:52 -07:00
Pragmatic Software
73abe25ce8
Move Plang to lib/Plang
2021-07-14 20:29:13 -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