Commit Graph

4525 Commits

Author SHA1 Message Date
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
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 f6665969ac modules/qalc.pl: refactor and clean-up ugly code 2021-08-02 17:52:38 -07:00
Pragmatic Software a0e2ba3610 Interpreter: minor comments about getopt 2021-08-02 04:57:52 -07:00
Pragmatic Software 2d0361e7f6 README: fix link 2021-08-02 04:46: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