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
755d7bd6c0
Bug fixes
general.debugcontext: filter out cmdlist and arglist

Core/Applets: log applet start/stop and duration

Core/ProcessManager: fix potential race-condition with $context object

Core/Interpreter:

    * expand pronouns before command-substitution
    * attempt to find current channel's factoid instance for metadata
    * remove duplication of command history in command-substition
    * terminate pipe/substitution processing when protecting self

Core/Factoids: limit -url contents to 250kb
2024-10-22 09:50:10 -07:00
Pragmatic Software
521e8850b0
Core/IgnoreList: allow specifying nickname as channel argument to ignore private messages 2024-10-15 20:05:24 -07:00
Pragmatic Software
597820c053
Core/Factoids: properly restore invalid $variable expansions 2024-10-15 19:56:04 -07:00
Pragmatic Software
71a4c4c331
Plugin/Wordle: add info command; minor tweak to start error-handling 2024-10-15 11:54:32 -07:00
Pragmatic Software
d29a60978e
Plugin/Battleship: improve ship placement
Same-player ships will no longer be aligned end-to-end in the same orientation
to appear like one long ship.

There will no longer always be an even amount of horizontal and vertical ships
for each player.
2024-10-06 01:34:04 -07:00
Pragmatic Software
a2b5162290
Plugin/Battleship: perform attacks in command-order instead of player-order 2024-10-05 14:19:05 -07:00
Pragmatic Software
646a7f8e7f
Factoids: move /code to after action processing 2024-10-04 22:34:02 -07:00
Pragmatic Software
bb1b43b089
applets/wiktionary: refactor relations 2024-10-02 20:13:45 -07:00
Pragmatic Software
68bd1e4d86
applets/wiktionary: add -r flag for relations 2024-10-02 18:50:56 -07:00
Pragmatic Software
9192b7bfad
pbot-vm: Preserve escapes in -args and -stdin 2024-10-01 13:08:52 -07:00
Pragmatic Software
a453518fab
AntiFlood: add some missing nickserv account case normalization 2024-09-28 12:19:37 -07:00
Pragmatic Software
50ca5b57f6
Remove TypoSub from plugin_autoload 2024-09-23 11:27:04 -07:00
Pragmatic Software
fcaa2d3044
Plugin/Wordle: add missing Italian words and vowel; fix German translation 2024-09-22 17:05:46 -07:00
Pragmatic Software
635f2c5a00
Update factoids 2024-09-19 13:57:20 -07:00
Pragmatic Software
85c3f1f9f2
AntiFlood: relax default flood values 2024-09-19 13:57:08 -07:00
Pragmatic Software
e39c9ea3ad
WebPaste: sprunge.us dead 2024-09-19 13:56:23 -07:00
Pragmatic Software
6d10a146ed
applets/c2english: improve text of function calls 2024-09-19 13:55:08 -07:00
Pragmatic Software
7da755d248
pbot-vm: make clang2x default language; add -Wno-unused-variable 2024-09-19 13:51:57 -07:00
Pragmatic Software
002f7a23d1
Plugin/AntiHello: always send private message warning 2024-09-08 17:17:47 -07:00
Pragmatic Software
13c117e360
pbot-vm: remove/replace -Wno-unused with -Wno-unused-parameter 2024-08-17 22:17:46 -07:00
Pragmatic Software
1b9e482396
Plugin/Wordle: refactor how wordlist is (not) reloaded 2024-08-13 00:07:13 -07:00
Pragmatic Software
ac8753f962
Plugin/Wordle: do not reload words from disk until wordlist changes; add british and urban to supp for English lists 2024-08-12 12:43:20 -07:00
Pragmatic Software
b31aa7a816
AntiAway/AntiHello: added "2nd offense" text to warning kick message 2024-08-10 14:02:58 -07:00
Pragmatic Software
de42067e28
Plugin/AntiHello: update greeting regex 2024-08-07 15:51:01 -07:00
Pragmatic Software
1986da2a4b
Plugin/AntiHello: update greeting regex 2024-08-07 15:29:17 -07:00
Pragmatic Software
dd4be2184c
Add Plugins/AntiHello to warn about stand-alone greetings in large channels 2024-08-07 14:48:05 -07:00
Pragmatic Software
e96e48562c
Plugin/WordMorph: improve start message 2024-08-03 00:00:07 -07:00
Pragmatic Software
58303f6b97
Plugin/AntiAway: unregister irc.public when unloading 2024-07-23 11:38:16 -07:00
Pragmatic Software
4cf8583a1e
Plugin/AntiAway: improve logic of temp-ban warning 2024-07-22 13:56:44 -07:00
Pragmatic Software
a0a61ff0d5
Plugin/AntiAway: monitor PRIVMSG for away nicks 2024-07-22 13:47:30 -07:00
Pragmatic Software
88518a21df
Update factoids 2024-07-11 13:54:40 -07:00
Pragmatic Software
6ac157d42d
applets/c2english: make some rules more aware of expressions 2024-07-10 12:46:56 -07:00
Pragmatic Software
c1847efc35
applets/wiktionary: remove pluralization of parts of speech 2024-06-29 12:04:37 -07:00
Pragmatic Software
ff31d71024
applets/wiktionary: add part of speech filter option 2024-06-29 11:33:11 -07:00
Pragmatic Software
dfd56aed57
Plugin/AntiRepeat: increase min length to allow "thanks"/"thank you" 2024-06-28 18:51:37 -07:00
Pragmatic Software
6722fd7f8d
Store user passwords as salted hash digests
This was way overdue. User passwords are no longer stored as cleartext.

When PBot is restarted after applying this commit, all stored passwords will
be converted to salted hash digests.

The `useradd`, `userset` and `my` commands will now hash passwords.

Why did it take me so long to finally get around to hashing passwords
properly, you might ask. The reason why this wasn't done sooner is because
all of my users used hostmask-based `autologin`. The passwords that PBot
randomly generated were ignored and never used.

I do regret that it took me so long to get around to this, for those of you
who might be using custom passwords instead of hostmask-based `autologin`.
2024-06-22 22:38:15 -07:00
Pragmatic Software
784c2508e5
c2english/CGrammar: fix translation of [static n] in array parameters 2024-06-12 14:22:26 -07:00
Pragmatic Software
0786ee03a3
applets/wiktionary.pl: show disambiguation when word is not found
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 14:24:20 -07:00
Pragmatic Software
da75397b51
applets/wiktionary.pl: show list of languages when entry is not found
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 09:12:20 -07:00
Pragmatic Software
9b1687d46c
applets/wiktionary.pl: add error-checking 2024-06-08 07:24:50 -07:00
Pragmatic Software
04209e4b7e
Interpreter: restore preserve_escapes in make_args() to fix sed
Update factoids
2024-06-03 09:07:53 -07:00
Pragmatic Software
80f9ea1acd
Interpreter: escaped spaces behave better 2024-05-26 17:44:59 -07:00
Pragmatic Software
c6e1da1706
Plugin/Wordle: preserve correct letters in list; add american-uncommon 2024-05-16 13:33:10 -07:00
Pragmatic Software
c62b6b9a75
Functions: fix help function signature 2024-05-09 16:10:06 -07:00
Pragmatic Software
40aa37bc7c
Plugin/Wordle: Wordle improvements
- refactor `wordlists` into structure with more details
  - added `name` field for language names
  - added `prompt` field for localized "Guess the word!" prompt
  - added `supp` field for supplemental wordlists
    (used to add words to list for guessing, e.g. urban with insane supplement
    allows initial word selection from urban list and then adds words from
    insane list for more options for guessing)
  - moved accents into added `accents` field
  - added `min_length` and `max_length` fields for lists that are different
    from default lengths
- misc minor adjustments
2024-04-29 03:15:05 -07:00
Pragmatic Software
8e3652bc8e
pbot-vm: gdb() needs __asm__() instead of asm() 2024-04-17 00:37:36 -07:00
Pragmatic Software
ddeeb5da0f
pbot-vm: update de-optimization for gdb() function 2024-04-16 23:41:37 -07:00
Pragmatic Software
e4cb6ceff6
pbot-vm: simplify network script slightly 2024-04-12 13:12:41 -07:00
Pragmatic Software
111f3bd2e7
pbot-vm: consolidate network enable/disable into one script 2024-04-12 13:07:27 -07:00
Pragmatic Software
cc1445be90
Update applets/cdecl.pl command and add cdecl to Dockerfile 2024-04-10 13:32:16 -07:00
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