3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-11-28 14:59:56 +01:00
Commit Graph

434 Commits

Author SHA1 Message Date
Pragmatic Software
e25bde159f
pbot-vm: ignore -health and -revert used simultaneously to prevent double-revert 2024-04-10 12:53:37 -07:00
Pragmatic Software
17b69f04ff
pbot-vm: massive refactor
* replace heartbeat with health-check
  * instead of steady stream of newlines every 5s, now awaits input
    and responds with `vmstat` output

* more reliably use host/config/vm-exec.json to get libvirt domain name
  for snapshot-revert, server address, serial ports, vagrant setting, etc

* use iptables/nftables to disable networking
  * added guest/bin/disable-network-[iptables,nftables]
  * added guest/bin/enable-network-[iptables,nftables]

* replace ugly ___OUTPUT___ texts in sh, bash, ksh, zsh languages

* documentation updates and tweaks
2024-04-10 01:21:18 -07:00
Pragmatic Software
5d3f188a09
Multiple bugfixes
* obtain bot nick from connection details instead of registry where appropriate

* irc.random_nick works again

* record own hostmask when connecting

* fix web-paste truncation by subtracting length of own hostmask from message length

* set irc.max_msg_len back to 510

* updated IRC numeric 378 to whoishost

* add sprunge.us to WebPaste
2024-04-07 20:55:04 -07:00
Pragmatic Software
94b7706358
Plugin/Wordle: add Urban Dictionary words (filtered to >100 thumbs-up, no excessive consecutive letters, etc) 2024-04-07 17:20:59 -07:00
Pragmatic Software
2547f035a1
pbot-vm: add experimental Vagrant provisioning 2024-04-04 03:41:58 -07:00
Pragmatic Software
09aed30893
pbot-vm: add PBOTVM_ADDR env var to set address of vm-server 2024-03-31 17:36:36 -07:00
Pragmatic Software
4df50dc340
Docker/README.md: add section headers 2024-03-31 15:23:30 -07:00
Pragmatic Software
446857ffbf
pbot-vm: provision non-interactively 2024-03-30 20:48:45 -07:00
Pragmatic Software
0829265ef8
pbot-vm: setup-guest auto-detects OS/distro and runs provisioning scripts 2024-03-30 19:41:50 -07:00
Pragmatic Software
91f8547aed
pbot-vm: add Tumbleweed orchestration script
Fix Java language missing `/bin/sh` in execute()
Update brainfck language to use `bff`
2024-03-30 16:49:09 -07:00
Pragmatic Software
f8a739a688
doc/VirtualMachine.md: fix typo 2024-03-27 14:35:21 -07:00
Pragmatic Software
59090b39e7
pbot-vm: update VirtualMachine.md with improved PTY console install instructions and misc tweaks 2024-03-27 14:21:32 -07:00
Pragmatic Software
5c185486e8
Plugin/Wordle: removed unidecode normalization; added Finnish 2024-03-17 21:08:50 -07:00
Pragmatic Software
51fb92bc39
Plugin/Wordle: add Polish wordlist 2024-03-17 18:39:09 -07:00
Pragmatic Software
8970978444
data/wordle: update German words to modern dialect 2024-03-16 19:43:50 -07:00
Pragmatic Software
a67a4078e4
Update cpanfile 2024-03-16 17:32:37 -07:00
Pragmatic Software
753773f06b
Plugin/Wordle: add accented words and German nouns
Accented words will be unidecoded to Latin letters so letter list remains A-Z.

German words will include proper nouns since I had no easy way to distinguish
them from regular nouns.
2024-03-16 17:29:09 -07:00
Pragmatic Software
348465b034
data/commands: add preserve_whitespace to wordle
Plugin/Wordle: remove debug message
2024-03-16 16:31:29 -07:00
Pragmatic Software
bde06990fe
Plugin/Wordle: colorize ouput and add wordlists 2024-03-16 16:14:07 -07:00
Pragmatic Software
c62b4d1c35
Imports: disable deprecation warnings
I will be monitoring deprecations and will update PBot as necessary.
2024-03-15 02:48:17 -07:00
Pragmatic Software
19f53cde10
applets/lookupbot.pl: remove -T taint mode (breaks local::lib) 2024-03-10 12:34:42 -07:00
Pragmatic Software
5d3507421e
Plugin/Wordle: fix not detecting duplicate letters 2024-03-09 20:29:25 -08:00
Pragmatic Software
26a2b36122
Plugin/UrlTitles: improve logic of show_url_titles 2024-03-09 19:37:17 -08:00
Pragmatic Software
ca7670da3d
Plugin/Wordle: add letters subcommand to display good/unknown letters 2024-03-09 15:42:59 -08:00
Pragmatic Software
fa29212bc3
Plugin/Wordle: add ability to start custom Wordles 2024-03-07 15:59:46 -08:00
Pragmatic Software
e251ccb7a1
Plugin/Wordle: misc improvements:
* remove initial "? ? ? ? ?" text after first guess
* show count of guesses when solved
* remove "Wordle: " text
2024-03-07 10:20:53 -08:00
Pragmatic Software
d8a67ae0c5
Plugin/Wordle: silence uninitialized warning 2024-03-07 09:09:59 -08:00
Pragmatic Software
440a72c71e
Plugin/Wordle: minor refactor 2024-03-07 08:59:41 -08:00
Pragmatic Software
435faaa18c
Add Wordle plugin; update games section of README 2024-03-07 03:17:07 -08:00
Pragmatic Software
7d3cd3f215
Plugin/Spinach: fix subroutine signatures 2024-03-06 15:07:09 -08:00
Pragmatic Software
1cb6a114b8
Plugin/Battleship: fix bomb input constraints
Players who have been removed or have lost can no longer attack.

Fix attack range checks.
2024-03-05 22:00:55 -08:00
Pragmatic Software
4b5e3d0d41
Plugin/Battleship: fix show_battlefield() sub signature 2024-03-05 21:01:32 -08:00
Pragmatic Software
d4880854db
Plugin/WordMorph: add search subcommand to find words by regex 2024-02-22 18:56:52 -08:00
Pragmatic Software
eb5b1540d5
Plugins/WordMorph: custom optionally accepts number of steps instead of second word 2024-01-26 19:01:42 -08:00
Pragmatic Software
7347fef521
EventQueue: minor whitespace correction 2023-11-14 10:44:43 -08:00
Pragmatic Software
afa124e0d3
Commands/ChanOp: Group multiple unbans/unmutes together into one command 2023-11-14 10:42:16 -08:00
Pragmatic Software
7b69980eff
Plugin/Plang: update output_value() to accept scope argument 2023-11-09 20:42:20 -08:00
Pragmatic Software
451c6ace2e
Plugin/Connect4: make send_message() delay argument optional 2023-09-28 13:28:23 -07:00
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