Pragmatic Software
2096df16d6
Factoids: process regex factoids when implicitly invoked
2023-09-24 11:24:20 -07:00
Pragmatic Software
5ffde32d46
Factoids: disregard error messages when not explicitly invoked
2023-09-23 13:52:10 -07:00
Pragmatic Software
53e990bd32
applets/c2english: correct order of pointers in direct abstract declarators
2023-09-21 17:33:33 -07:00
Pragmatic Software
eb301ea948
applets/c2english: fix switch case labels
2023-09-21 16:53:21 -07:00
Pragmatic Software
fe3e7c80cb
Interpreter: disallow /msg from vm-client
2023-08-19 16:36:26 -07:00
Pragmatic Software
64b4d8a53c
Handlers/Server: fix constant look-up (was previously moved from hash to constant)
2023-07-30 16:46:04 -07:00
Pragmatic Software
d4cc3bf7f2
Plugin/ActionTrigger: handle QUIT triggers per-channel
2023-07-19 00:23:54 -07:00
Pragmatic Software
58ac29c4db
Plugin/UrlTitles: add title to "ignored title" log message
2023-06-13 23:22:43 -07:00
Pragmatic Software
bfa08ee8d6
Plugin/UrlTitles: add logging to reveal why some URLs are disregarded
2023-06-13 23:19:21 -07:00
Pragmatic Software
f3ad345340
Core/Interpreter: require whitespace in front of bot name for suffix-trigger
2023-05-21 16:16:06 -07:00
Pragmatic Software
8934936658
Perform anti-flood checking on NOTICEs to channels
2023-05-14 15:56:17 -07:00
Pragmatic Software
48daaa91ca
Core/Handlers: Do not auto-reply to NOTICEs
2023-05-14 15:38:51 -07:00
Pragmatic Software
2b36286c22
Interpreter: extract_bracketed: missed a state change
2023-05-11 11:02:16 -07:00
Pragmatic Software
bc05915905
Interpreter: improve parsing of embedded commands
2023-05-11 08:08:38 -07:00
Pragmatic Software
bd6af472e8
Interpreter: remove left-over malformed section
2023-05-11 06:08:26 -07:00
Pragmatic Software
329c8db33c
Factoids: fix factrem
/forget
...
Somehow I missed the `remove()` subroutine when converting
to subroutine signatures...
2023-05-07 13:47:25 -07:00
Pragmatic Software
097c657f0c
Commands/ChanOp: minor code-formatting clean-up
2023-05-05 18:59:35 -07:00
Pragmatic Software
15d7abf5ec
Plugin/RunCommand: fix subroutine argument
2023-05-05 12:28:36 -07:00
Pragmatic Software
1bb5fe031d
Use quietlist when setting mutes
2023-05-04 16:30:35 -07:00
Pragmatic Software
b04c06f396
Refactor ban/unmute commands
2023-05-04 16:03:24 -07:00
Pragmatic Software
c9112ac809
applets/date.sh: posix directory no longer exists on current distro
2023-05-04 12:19:22 -07:00
Pragmatic Software
06650963a3
applets/pbot-vm: increase length to trigger "Same output"
2023-04-28 00:48:37 -07:00
Pragmatic Software
8555e8f00e
Core/BanList: correct ban_user() arguments
2023-04-28 00:46:22 -07:00
Pragmatic Software
2c3f8fb9fe
Fix some inconsistent arguments
2023-04-21 15:56:43 -07:00
Pragmatic Software
cfaa5cfd4e
Fix inconsistent argument
2023-04-17 13:04:10 -07:00
Pragmatic Software
860a6be156
Fix some inconsistent arguments
2023-04-17 10:33:02 -07:00
Pragmatic Software
208df255a1
Update comment
2023-04-13 23:42:46 -07:00
Pragmatic Software
7ddb32ea16
Update core to use subroutine signatures
2023-04-13 21:04:12 -07:00
Pragmatic Software
c6db4b1e6b
Update plugins to use subroutine signatures
2023-04-13 17:08:27 -07:00
Pragmatic Software
cd60ac9fc7
Update plugins to use subroutine signatures
2023-04-13 17:01:23 -07:00
Pragmatic Software
afd07bcd57
Bump minimum Perl version to 5.20 for signatures feature
2023-04-13 11:37:39 -07:00
Pragmatic Software
3180d11303
Plugin/Quotegrabs: polish Storage/SQLite.pm a bit
2023-04-13 11:21:30 -07:00
Pragmatic Software
cdbbf9c183
Plugin/Quotegrabs: minor clean-up of previous commit
2023-04-10 10:46:43 -07:00
Pragmatic Software
8bf243a9fd
Plugin/Quotegrabs: rq
now "shuffles" through quotes without repeats
2023-04-10 08:06:35 -07:00
Pragmatic Software
d8b19eff68
Plugin/Quotegrabs: rq
now properly searches multi-grabs
2023-03-30 06:33:33 -07:00
Pragmatic Software
640f866829
applets/unicode.pl: limit U+XXXX..U+XXXX
range to 100 characters
2023-03-23 18:20:22 -07:00
Pragmatic Software
3340589207
applets/unicode.pl: keep newlines for pasting; increase search limit
2023-03-23 17:56:40 -07:00
Pragmatic Software
0236043fe9
applets/unicode.pl: more concise output; require -s for search
2023-03-23 17:40:06 -07:00
Pragmatic Software
d6b6e1ac50
applets/unicode.pl: improve usage message
2023-03-23 17:22:34 -07:00
Pragmatic Software
bfabf3e308
Add applets/unicode.pl
...
A quick-and-dirty simplified interface to https://github.com/garabik/unicode
with support for searching by name/description and querying by character
or U+XXXX code-point.
2023-03-23 17:15:19 -07:00
Pragmatic Software
05cf63e00c
Interpreter: fix $0 in commands that use &{subs}
2023-03-23 08:56:58 -07:00
Pragmatic Software
ca21999d5d
applets/wiktionary: fix UTF-8 issue
2023-03-19 14:50:52 -07:00
Pragmatic Software
00077e0eef
applets/urban: fix yet another UTF-8 issue
2023-03-19 14:23:27 -07:00
Pragmatic Software
0cd4ce5220
pbot-vm: guest-server: update serial ports
2023-03-13 13:33:10 -07:00
Pragmatic Software
3ada433527
Refactor UTF-8 fix
2023-03-12 18:28:50 -07:00
Pragmatic Software
b9a89e10d6
Fix UTF-8 encoding
2023-03-12 18:10:44 -07:00
Pragmatic Software
6565c516e9
pbot-vm: remove "command:" text from -paste output
2023-03-12 16:12:58 -07:00
Pragmatic Software
e736051de5
Fix UTF-8 encoding
2023-03-12 16:06:04 -07:00
Pragmatic Software
110f019bf2
MessageHistory: recall
: fix incorrect whitespace appended to text argument if -t
is not used
2023-02-24 20:50:19 -08:00
Pragmatic Software
13b09be29a
Commands/Factoids: factchange
: handle escaped delimiters
2023-02-23 13:16:17 -08:00
Pragmatic Software
8d5b992b4c
Update copyright
2023-02-20 21:31:52 -08:00
Pragmatic Software
1eaf85239f
NickList: handle nickchange before any other handlers
2023-02-13 16:27:26 -08:00
Pragmatic Software
21d06bc149
IRC: do not debug PONG events
2023-02-13 16:06:24 -08:00
Pragmatic Software
7da7883d9d
pbot-vm: guest-gdb: stricter match for main()
2023-02-09 21:04:30 -08:00
Pragmatic Software
224a00949a
pbot-vm: guest-gdb: fix potential undefined $start
when optimizations are enabled
2023-02-09 13:39:10 -08:00
Pragmatic Software
47d8f5724a
Check for bans when CHGHOST
...
Remove redundant message type from log message
2023-02-02 09:22:51 -08:00
Pragmatic Software
9f314cd365
Enable aka_debug
because AKA log entries are interesting
2023-02-02 09:13:36 -08:00
Pragmatic Software
7bbd5d8097
Fix QUIT log message
2023-02-01 17:47:25 -08:00
Pragmatic Software
6dd390540a
Improve CHGHOST log message
2023-02-01 17:33:09 -08:00
Pragmatic Software
d3c8c74a9d
Support IRCv3 CHGHOST extension
...
Clean up MessageHistory constants
2023-02-01 17:27:06 -08:00
Pragmatic Software
a173858fb8
Enable multi-prefix
IRCv3 extension
2023-02-01 14:48:12 -08:00
Pragmatic Software
6240aee0a0
Simplify arguments for IRC handlers
2023-01-31 05:44:34 -08:00
Pragmatic Software
441e858a84
Make some log messages more consistent
2023-01-30 15:50:26 -08:00
Pragmatic Software
02d690600b
Gate message-tags debug message with irc.debug_tags
2023-01-28 11:48:29 -08:00
Pragmatic Software
999c07f237
Support IRCv3 message tags; misc refactoring
...
PBot now finally supports IRCv3 message tags. The `account-tag`
capability is now enabled for improved NickServ account tracking.
Refactored CAP negotiation. Minor clean-ups in AntiFlood.pm (which ought to
be completely rewritten from the ground-up).
Misc clean-ups and refactoring of various things.
2023-01-27 11:48:01 -08:00
Pragmatic Software
19d8170af3
applets/pbot-vm: vm-server: fix child signal handler
2023-01-24 12:34:03 -08:00
Pragmatic Software
de7db72c04
applets/c2english: fix issue parsing int *(foo)[5]
2023-01-23 12:46:15 -08:00
Pragmatic Software
7a6a150067
Begin refactoring message-history tracking
2023-01-22 07:36:11 -08:00
Pragmatic Software
d29ec9b6b9
Plugin/Wttr: add sunHour and uvIndex to -sun; decrease cache timeout from 1hr to 15m
2023-01-21 23:32:14 -08:00
Pragmatic Software
d8803a4c29
Update irccloud detection/handling
2023-01-21 14:47:11 -08:00
Pragmatic Software
576783df55
applets/cjeopardy: qstats now shows all wrong answers instead of top 10
2023-01-21 12:13:01 -08:00
Pragmatic Software
55407ce800
Factoids: factadd: include contents for factlog
2022-12-31 14:55:48 -08:00
Pragmatic Software
ad449ff07b
Update version
2022-12-25 18:22:21 -08:00
Pragmatic Software
ea35fc78c2
Commands/Help: update URL to point at TOC
2022-12-25 18:18:18 -08:00
Pragmatic Software
38d9c86984
Factoids: add more pastebin URLs for factadd -url
; update help
URL to point at TOC
2022-12-25 18:17:14 -08:00
Pragmatic Software
474cca04b8
Plugin/WordMorph: simplify word validation
2022-10-01 21:32:25 -07:00
Pragmatic Software
8721122c1f
Plugin/WordMorph: improve sanity checks
2022-10-01 10:17:27 -07:00
Ckat
7bec49c4ed
Plugins/WordMorph: validate word length ( #69 )
2022-10-01 09:49:15 -07:00
Pragmatic Software
2cf09ca415
Plugin/WordMorph: minor refactor/clean-up
2022-09-08 07:19:43 -07:00
Pragmatic Software
219851ffaf
Plugin/WordMorph: add neighbors
subcommand; improve custom
error messages
2022-09-07 17:52:48 -07:00
Pragmatic Software
0196e61b72
Plugin/WordMorph: add check
command to check if a word exists
2022-09-06 08:02:07 -07:00
Pragmatic Software
adaf4e2ed3
Plugin/WordMorph: several improvements
...
- add 2880 variant words to wordlist
- morph generator skips words with same suffix
- default steps increased from 3 to 4
- default minimum word length increased from 4 to 5
Note that you can override default steps and word lengths via `start`.
2022-09-04 16:47:43 -07:00
Pragmatic Software
82edbd2a18
Plugin/WordMorph: minor refactoring/clean-up
2022-08-31 23:09:10 -07:00
Pragmatic Software
f71e08cf7f
Plugin/WordMorph: minor refactoring/clean-up
2022-08-31 22:54:54 -07:00
Pragmatic Software
3c28dd046a
Plugin/WordMorph: allow hinting from right-hand side
2022-08-31 18:27:31 -07:00
Pragmatic Software
bc02854d15
Update WordMorph
...
- Ensure length of each step is correct
- Add WordMorph to plugin_autoload
2022-08-26 12:47:44 -07:00
Pragmatic Software
c071bf7604
applets/cstd.pl: fix parsing of paragraphs
2022-08-26 11:18:20 -07:00
Pragmatic Software
0edfee6d15
Update WordMorph
2022-08-26 00:33:41 -07:00
Pragmatic Software
b9dc225763
Plugin/WordMorph: improve hints with ? in place of next letter change
2022-08-24 23:11:47 -07:00
Pragmatic Software
d5c336c058
Add WordMorph plugin
2022-08-24 14:37:02 -07:00
Pragmatic Software
4551318c56
applets/cstd.pl: Fix footnotes
2022-08-12 13:02:00 -07:00
Pragmatic Software
6a61de1026
Consolidate c{99,11,23}std.pl into cstd.pl
2022-08-12 12:28:58 -07:00
Pragmatic Software
43dec7b70f
applets/gencstd23: fix paragraph diff special case for n1570
2022-08-08 18:45:15 -07:00
Pragmatic Software
9ddd38038a
applets: add C23 draft (n3047) command
...
I really, really need to clean this mess up and combine
c99std.pl, c11std.pl and c23std.pl into one script!
2022-08-07 19:10:34 -07:00
Pragmatic Software
c4602bc295
WebPaste: increase max width to 150 characters
2022-08-07 19:05:43 -07:00
Pragmatic Software
62849c9cc4
Bump version for previous revert
2022-08-03 11:31:09 -07:00
Pragmatic Software
e656fb46cf
Revert "FuncBuiltins: maybe-the: do it for all words"
...
This reverts commit 7093fa0ae4
.
2022-08-03 11:25:05 -07:00
Pragmatic Software
7093fa0ae4
FuncBuiltins: maybe-the: do it for all words
2022-08-03 05:19:45 -07:00
Pragmatic Software
d824255c6e
Misc fixes and improvements
...
applets/random_quote.pl: URI encode arguments
Plugins/FuncSed: improve error handling
2022-08-03 05:18:33 -07:00
Pragmatic Software
e4becb22a1
FuncBuiltins: maybe-the: special-case some indefinite nouns
2022-07-14 10:15:30 -07:00
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