Commit Graph

196 Commits

Author SHA1 Message Date
Pragmatic Software f7d361beca Core: show previous server:port if connecting without disconnecting 2022-07-10 12:53:17 -07:00
Pragmatic Software 74380f2a72 Core: Use EXIT_SUCCESS/EXIT_FAILURE; misc clean-ups 2022-07-10 12:45:27 -07:00
Pragmatic Software 9f46cf0ebc Factoids: disable nickprefixing when action contains $args at any recursion level 2022-07-09 19:33:43 -07:00
Pragmatic Software d12a463987 Plugin/FuncBuiltins: do not ucfirst on nicks; add more POS to maybe-the 2022-07-09 19:09:27 -07:00
Pragmatic Software 10e49bbbb6 Update factoids 2022-07-08 12:50:30 -07:00
Pragmatic Software 421738498c cpanfile: add Lingua::EN::Tagger 2022-07-08 09:19:27 -07:00
Pragmatic Software 3ab4ed0a81 Plugin/FuncBuiltin: add `maybe-the` function
The `maybe-the` function examines the argument's part-of-speech
classification (noun, verb, etc) to determine whether to prepend
the word "the".
2022-07-08 09:11:56 -07:00
Pragmatic Software 833c20efbb Factoids: do not prefix nick if action has $args 2022-07-08 09:11:16 -07:00
Pragmatic Software a170b28a8b Factoids: fix behavior of factoid look-up 2022-07-05 23:12:12 -07:00
Pragmatic Software 0023790fec applets/(c99,c11)std: better handling of capture groups within -text option 2022-07-04 09:52:50 -07:00
Pragmatic Software 0cf80092a7 Plugins/Wttr: add observation time to default option 2022-07-03 07:22:33 -07:00
Pragmatic Software 87eff496e9 applets/wiktionary: group definitions w/examples; clean up output 2022-06-29 19:38:17 -07:00
Pragmatic Software 3ef58c2bfa applets/wiktionary: improve output 2022-06-27 20:35:02 -07:00
Pragmatic Software 41b69bdfa5 Factoids: add `keep-quotes` metadata for applet commands 2022-06-27 19:52:38 -07:00
Pragmatic Software 780d41e628 Factoids: correct quotemeta2 and make it slightly more readable 2022-06-26 08:42:01 -07:00
Pragmatic Software 5619d30a1b Factoids: fix Unicode issue with factfind 2022-06-25 17:34:06 -07:00
Pragmatic Software c0ade8a2f6 Plugin/GoogleSearch: show 3 matches instead of 1 2022-06-25 17:31:40 -07:00
Pragmatic Software 553fdb884c Plugin/Plang: do not use output_value() on exceptions 2022-06-12 19:33:53 -07:00
Pragmatic Software d003a326aa Plugins/Wttr: add -conditions to default option 2022-05-22 17:12:57 -07:00
Pragmatic Software e7f4729567 pbot-vm: rebuild without print_last_statement() if "cannot subscript something" error 2022-05-01 10:30:34 -07:00
Pragmatic Software 4b5d8aa535 pbot-vm: use %02X for escapes; do not escape \x03 (for IRC colors) 2022-04-08 13:12:37 -07:00
Pragmatic Software d3328a4acd Factoids: `factinfo` now says "Applet" instead of "Module" 2022-04-08 09:13:57 -07:00
Pragmatic Software 3d311296eb pbot-vm: output postprocessing: escape control characters/unprintable characters 2022-04-07 18:24:57 -07:00
Pragmatic Software 3375580a2d pbot-vm: fix parsing of quoted text within GDB/MI 2022-04-06 10:53:07 -07:00
Pragmatic Software 1c57e01fad pbot-vm: escape malformed Unicode on STDOUT 2022-04-04 22:32:53 -07:00
Pragmatic Software 110912e85d pbot-vm: use coderef to simplify escaping of malformed Unicode 2022-04-04 22:10:50 -07:00
Pragmatic Software 5bc47b61d9 pbot-vm: display escaped malformed Unicode in output instead of U+FFFD 2022-04-04 21:54:39 -07:00
Pragmatic Software 757088987d pbot-vm: fix invalid character encountered in JSON string 2022-04-04 21:41:27 -07:00
Pragmatic Software 8381fc7ad2 c99/c11 commands can now take `-text` option to filter output 2022-04-04 10:42:42 -07:00
Pragmatic Software 03fb901291 pbot-vm: fix potential time-out when outputting 0
If the output from a code snippet is `0` without a newline,
Perl treats this as a false value. When Guest::process_command()
returns a false value, that signals to guest-server::serial_server()
that it is the parent returning and so it will not send the result back
to the host.

However, `0\n` is a true value. Solution: always append a final newline to
the guest output.
2022-03-31 19:52:46 -07:00
Pragmatic Software d80b70a2e5 Dequeue cache events when removing SQLite Storage entries 2022-03-23 23:45:00 -07:00
Pragmatic Software 23efee674a Plugin/UrlTitles: update user-agents 2022-03-17 19:17:31 -07:00
Pragmatic Software 1abc466e7a Plugin/UrlTitles: include URL in history file 2022-03-17 16:47:06 -07:00
Pragmatic Software bf8749ff9e Fix `blacklist` command 2022-03-09 12:56:38 -08:00
Pragmatic Software 756895b17f Plugin/UrlTitles: fix indentation 2022-02-27 17:11:55 -08:00
Pragmatic Software c1cfa0ef4e Plugins/UrlTitles: fix indentation 2022-02-27 17:08:30 -08:00
Pragmatic Software 02cc7fc488 Refactor UrlTitles plugin
Moved logic from get_title.pl applet to plugin.
Removed get_title.pl applet.
ProcessManager::execute_process() can now take a reader subref.
2022-02-27 16:58:01 -08:00
Pragmatic Software 76fd5f5fd7 pbot-vm: fix encoding issues; misc clean-ups 2022-02-24 10:39:15 -08:00
Pragmatic Software a7b27098ca Update PBot version 2022-02-15 11:42:55 -08:00
Pragmatic Software 619ff86a94 Rename `compiler` factoid to `vm-client` 2022-02-14 16:47:46 -08:00
Pragmatic Software 3f5a11e608 Plugin/Plang: fix run-time unhandled exception error reporting 2022-01-18 13:42:06 -08:00
Pragmatic Software 02a600fa32 Plugin/Plang: improve error message of unhandled exceptions 2022-01-18 10:59:56 -08:00
Pragmatic Software e421f9b6bc Replace U+200b (zwsp) with U+feff (zwnbsp)
U+feff is now used instead of U+200b for nick-dehighlighting.

U+feff is non-breaking; it will not break-up the word when wrapping. It also
appears to be much more widely supported. In fact, some terminals will simply
strip the bytes -- this allows copying the text as-is, etc.

Additionally, an exclude-list was added to prevent dehighlighting of specific
nicknames. This is because several terminals do not fully support Unicode's
zero-width spaces -- they show up as plain spaces. Certain words for the #c
channel have been added to this exclude list since they are also somewhat
popular as nicknames there.
2022-01-18 10:32:21 -08:00
Pragmatic Software 731a95ef11 Plugins/Plang: rename Grammar to ParseRules 2022-01-03 15:47:30 -08:00
Pragmatic Software c04467b50f Fix minor uninitialized object warning 2022-01-01 21:32:01 -08:00
Pragmatic Software f78e7bea88 Fix `chanrem` command 2022-01-01 21:30:20 -08:00
Pragmatic Software 3d97dc2c33 Rename "modules" to "applets"
"Applet" is a much better name for the external command-line
scripts and programs that can be loaded as PBot commands. They
will no longer be confused with Perl modules.

https://en.wikipedia.org/wiki/Applet
2021-11-19 18:05:50 -08:00
Pragmatic Software 136460e6b4 Expand factoid variables/selectors in arguments to code factoids 2021-11-05 13:08:45 -07:00
Pragmatic Software 4cf1e76169 Update commands and factoids 2021-10-19 21:14:52 -07:00
Pragmatic Software 85fd8397c2 Fix auto-rejoin channels when reconnecting 2021-10-19 21:09:21 -07:00