3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-23 04:19:27 +01:00
Commit Graph

195 Commits

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