Commit Graph

4593 Commits

Author SHA1 Message Date
Pragmatic Software 6c273d263c Doc: remove trailing "command" text from various headings 2021-09-14 21:30:44 -07:00
Pragmatic Software 44e1506f28 Doc: very minor edits 2021-09-14 21:23:01 -07:00
Pragmatic Software 5a477709b5 Document `id` and `recall`; misc improvements 2021-09-14 21:13:23 -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 eba5766865 modules/paren: specify python2 in shebang 2021-09-09 11:55:31 -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 93ad26d27d Doc: minor formatting tweak 2021-09-06 12:51:04 -07:00
Pragmatic Software ce2224c380 Document aka commands 2021-09-06 12:45:02 -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 5f2d6d3b96 cpanfile: add Text::WordDiff to compiler_vm feature 2021-09-03 17:24:57 -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 68ed2e7580 c2english: minor clean-ups 2021-08-16 12:26:11 -07:00
Pragmatic Software 31ae34e17e Remove obsolete generate_undos.pl script 2021-08-15 19:44:21 -07:00
Pragmatic Software d40d602b79 Move script/ to bin/ 2021-08-15 19:42:09 -07:00
Pragmatic Software 8115169729 c2english: minor clean-ups 2021-08-15 11:18:28 -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 91073df113 data/commands: `recall` should not be run backgrounded 2021-08-12 22:28:52 -07:00
Pragmatic Software b4ad221a61 modules/expand_macros.pl: add some default #includes and use -ftrack-macro-expansion=0 to omit macro tracking noise added in recentish GCC upgrade 2021-08-08 14:13:02 -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