Pragmatic Software
73c4ed465d
Factoid/Variables: minor refactor, no semantic changes
2024-11-02 17:58:14 -07:00
Pragmatic Software
c6f6823df9
Fix misc white-spacing issues
...
* func sed no longer trims leading whitespace
* quoted text no longer trims leading whitespace
* no longer convert tabs to spaces in output
* no longer condense adjacent whitespace together in output
2024-11-02 17:57:19 -07:00
Pragmatic Software
af2d9844b8
Interpreter: allow processing of empty result
...
This fixes .e.g.:
<pragma-> !echo foo &{echo bar | { sed s/bar// }} baz
such that it produces the output "foo baz" instead of no output at all.
2024-11-02 17:53:37 -07:00
Pragmatic Software
f680439d47
Plugin/Wordle: add guesses
subcommand
2024-10-31 00:55:31 -07:00
Pragmatic Software
e7d3a543c4
Update factoids
...
Amazing factoids being created in #wordle by JAA and emanuele6.
jaa-guesses2wordles: /call wordles &{jaasolve-state2pattern &{jaa-guesses2state '&{wordle guesses | {stripircformatting}}' $arg[-1]}} &{wordle info | {sed s/ \(.*$//} | {sed s/^.* //}}
jaa-guesses2state: /code sh shopt -s extglob; declare -A _m=(\* G \? Y \ B);_w=" ${1//ẞ/ß}" _w=${_w,,} _o=; while [[ "${_w}" ]]; do _g= _r= _w=${_w:1}; while [[ "${_w}" == ' '?[\ ?*]* ]]; do
_g+=${_w:1:1} _r+=${_m["${_w:2:1}"]} _w=${_w:3}; done; _o=$_o${_o:+.}$_g.$_r; done; _o=${_o%.+([^.]).+(G)}; for ((_i = ${2:-0}; _i > 0; --_i)); do _o=${_o%.+([^.]).+([GYB])}; done; printf %s\\n "$_o"
wsg: /call call &{func grep wordle wordle &{wordle start &{clength $arg[0]} $arg[1]}} guess $arg[0]
clength: /code sh printf %s "${#1}"
rspray: /call func sed s/Le.*?:.*?@//g Le:&{wordle start}@&{wordle guess &{rw}}@&{wordle guess &{rw}}@&{wordle guess &{rw}}@&{wordle guess &{rw}}
rw: /code sh _len="${1:-5}" ; _list="${2:-american}" ; grep -P ^.{$_len}$ /usr/share/dict/$_list | shuf -n 1
Also megaspray, megasolve, jaasolve, wsgl, and more!
2024-10-30 19:18:18 -07:00
Pragmatic Software
d8a284e9c1
Core/Interpreter: preserve newlines in commands
2024-10-30 16:37:20 -07:00
Pragmatic Software
e5e0f26b90
applets/pbot-vm: minor fixes
...
* set `preserve_escapes` to 0 in guest/_c_base.pm so escapes are stripped in:
<pragma-> ,show testcargs
<candide> [global] testcargs: /code c11 printf("/say args: " ); while
(*++argv) printf("[%s] " , *argv);
<pragma-> ,testcargs foo\'bar baz\'qux
<candide> args: [foo\'bar] [baz\'qux]
to produce the desired output of:
<candide> args: [foo'bar] [baz'qux]
* set `keep_spaces` to 1 in host/_default.pm since it turns out that in some
languages unquoted spaces are significant, e.g. in `sh ${1% *}` to strip
text following two spaces. Without `keep_spaces` enabled, `sh ${1% *}`
becomes `sh ${1% *}` and strips all text following one space instead of two.
2024-10-30 15:43:38 -07:00
Pragmatic Software
f4caf44eb0
split_line(): Remove no longer used next_ch
/last_ch
2024-10-29 12:49:19 -07:00
Pragmatic Software
4287cb9fa2
Fix split_line() quoting to be more sh-like
...
E.g.:
<pragma-> show testcargs
<PBot> [global] testcargs: /code c11 printf("/say args: " ); while (*++argv) printf("[%s] " , *argv);
<pragma-> testcargs 'hello''world' 'how are 'you today
<PBot> args: [helloworld] [how are you] [today]
Previously, adjacent 'foo''bar' would end up as 2 args like [foo] [bar]. Now
they are properly concatenated into one [foobar] argument.
This also fixes the cases of whitespace being inserted after quoted arguments.
2024-10-29 10:19:46 -07:00
Pragmatic Software
4a025801a2
applets/pbot-vm: disregard IRC text modifiers when escaping unprintable characters
2024-10-27 12:52:15 -07:00
Pragmatic Software
f2068a4baf
Plugin/AntiHello: update regex
2024-10-25 17:51:16 -07:00
Pragmatic Software
2c7dcafba5
Plugin/AntiHello: save offense counters to storage
2024-10-25 16:01:08 -07:00
Pragmatic Software
f542cc0cf2
Core/Factoids: top20
: show only defined edited-by
for edited
sub-command
2024-10-23 22:32:27 -07:00
Pragmatic Software
4345b0a75c
Core/Factoids: update edit-by when factadd -f
; add edited
to top20
2024-10-23 21:36:21 -07:00
Pragmatic Software
673c468159
applets/cjeopardy: add more alternative answers
2024-10-23 12:34:27 -07:00
Pragmatic Software
4286c459d1
Update factoids
2024-10-23 12:15:59 -07:00
Pragmatic Software
abdb88c7b3
Plugin/Wordle: add solved-by to info
and guess
2024-10-23 11:59:03 -07:00
Pragmatic Software
7db191e7c2
applets/cjeopardy: add alternative answers tor postfix/prefix questions
2024-10-22 10:47:20 -07:00
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
876d5a88bf
Update factoids
2024-10-15 19:55:01 -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
3a63448753
Update factoids
2024-10-04 22:00:35 -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
a1ec2bfada
applets/cjeopardy: fix wording of question 448
2024-10-02 15:02:00 -07:00
Pragmatic Software
9192b7bfad
pbot-vm: Preserve escapes in -args and -stdin
2024-10-01 13:08:52 -07:00
Pragmatic Software
6002c93d60
pbot-vm: Fix -paste getting 403 Forbidden
2024-10-01 12:37:45 -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
2cce930d47
Update factoids (set keep-escapes 1
to preserve backslashes on some commands)
2024-08-19 11:38:07 -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