3
0
mirror of https://github.com/pragma-/pbot.git synced 2025-09-26 22:27:23 +02:00

4896 Commits

Author SHA1 Message Date
Pragmatic Software
f54efb0864
Improve LagChecker
- wait until fully connected (irc.welcome) before sending PING
- do not send another PING until PONG is received

These changes prevent the bot from sending multiple PINGs when the
ircd is heavily lagging. The multiple PINGs would queue up and then
get sent all at once when the ircd unlagged, potentially causing an
excess-flood disconnection.
2025-09-25 15:04:21 -07:00
Pragmatic Software
3219c3d008
Improve code-factoids
- now processes command substitutions, pipes, and splits
- indentation and newlines preserved
2025-09-25 01:14:10 -07:00
Pragmatic Software
8f1ac5b5ba
Factoids: variable expansions update ref-count and last-referenced 2025-09-25 01:03:17 -07:00
Pragmatic Software
bda93505f3
WebPaste: no longer split long lines 2025-09-24 10:56:32 -07:00
Pragmatic Software
49b926c372
Commands/Factoids: factchange handles newlines; factadd $0-data exempted from recursion limit 2025-09-24 10:54:40 -07:00
Pragmatic Software
fe31b630e9
applets/pbot-vm: Multiple improvements
- host/lib/SplitLine: preserve \t tabs
- host/lib/InteractiveEdit: encode history as JSON to preserve newlines
- host/lib/Languages/_default: strip joined space following newlines
2025-09-24 10:50:25 -07:00
Pragmatic Software
091f6b101e
Plugin/Wordle: hard now shows whether hard mode was already enabled/disabled 2025-09-14 07:57:45 -07:00
Pragmatic Software
2011275f27
Quotegrabs/Storage: remove unused import 2025-09-04 10:30:31 -07:00
Pragmatic Software
0fb4cd7fa7
Plugin/ActionTrigger: enable triggering on bot messages 2025-09-04 10:29:29 -07:00
Pragmatic Software
cdef9e5fe8
Core/IRC/Connection: dispatch pbot.public/pbot.caction events for bot messages 2025-09-04 10:27:57 -07:00
Pragmatic Software
6147a5afc7
Plugin/Wordle: add solved duration 2025-09-04 10:26:53 -07:00
Pragmatic Software
3d7a98b611
Plugin/AntiHello: remove initial ban warning 2025-09-04 10:26:02 -07:00
Pragmatic Software
9cf4b18538
Factoids: Restrict recursion depth for commands that modify factoids (factadd, factchange, etc) 2025-09-04 10:24:55 -07:00
Pragmatic Software
0ecdcc1bf5
Update factoids 2025-08-25 09:59:18 -07:00
Pragmatic Software
4e69444be0
Core/Interpreter: process cmd-pipes at correct stack-depth 2025-08-25 06:19:17 -07:00
Pragmatic Software
55831b3d4a
applets/trans: make Bing default engine; misc improvements 2025-08-25 04:36:02 -07:00
Pragmatic Software
8fdd51bc9a
Core/Interpreter: simplify ref_from 2025-07-30 15:51:09 -07:00
Pragmatic Software
d5aa7f9e41
Core/Interpreter: improve command splitting and substitutions 2025-07-29 13:39:11 -07:00
Pragmatic Software
27db494f85
applets/cdecl.pl: show usage when command is invalid 2025-07-20 07:39:20 -07:00
Pragmatic Software
675a723d57
applets/trans.pl: improve options parsing 2025-07-20 05:57:12 -07:00
Pragmatic Software
9d29336cb2
applets/qalc.pl: make qalc safe 2025-07-20 00:58:37 -07:00
Pragmatic Software
4582e225e5
applets/trans.pl: whitelist allowed options 2025-07-19 12:24:31 -07:00
Pragmatic Software
66ce01a0c3
applets/trans.pl: restrict allowed options 2025-07-19 09:18:45 -07:00
Pragmatic Software
cff8d5fe70
Plugin/Wordle: display hard-mode status in info 2025-07-19 08:55:21 -07:00
Pragmatic Software
8752349210
applets/trans.pl: disallow -pager 2025-07-19 08:54:38 -07:00
Pragmatic Software
4525cb95d1
Plugin/Worlde: track nonword and invalid guesses 2025-07-08 22:41:19 -07:00
ilmari-lauhakangas
fa36d8c480
FuncBuiltins: fix maybe-on usage instructions (#76) 2025-07-02 15:58:20 -07:00
Pragmatic Software
30ac705d99
Plugin/Wordle: fix hard mode minimum letter requirements; test hard mode validation before word existence check; replace "is not" with "can't be" 2025-07-02 14:45:25 -07:00
Pragmatic Software
b61dbe17c6
Plugin/Wordle: add toggleable hard mode 2025-06-26 23:21:48 -07:00
Pragmatic Software
5c24e5f17d
applets/gencstd: minor tweak to instructions 2024-12-14 15:12:14 -08:00
Pragmatic Software
411f0ebbd8
Update C23 to N3220
Closes #75
2024-12-14 14:58:10 -08:00
Pragmatic Software
722408d95e
Factoids: rename top20 to top50 and add "referenced" subcommand 2024-11-30 16:47:13 -08:00
Pragmatic Software
4162c06fe4
Commands/ChanOp: silly kick-message shenanigans 2024-11-30 16:40:33 -08:00
Pragmatic Software
f172563fdc
Utils/SQLiteLogger: update log() to use subroutine signatures 2024-11-30 16:26:52 -08:00
Pragmatic Software
0a81203cc9
Update factoids 2024-11-30 11:35:22 -08:00
Pragmatic Software
80bc79cfbc
Plugin/Wordle: always have last word/guess in info 2024-11-27 16:51:02 -08:00
Pragmatic Software
6ba8776c2c
Plugin/Wordle: keep game state after giveup 2024-11-27 16:15:09 -08:00
Pragmatic Software
001f2024c4
Factoids: add default value modifier
Uses POSIX shell parameter expansion syntax.

    <pragma-> !factadd cookie /me gives a cookie to ${args:-nobody. What a shame}!
       <PBot> cookie added to the global channel.

    <pragma-> !cookie Bob
            * PBot gives a cookie to Bob!

    <pragma-> !cookie
            * PBot gives a cookie to nobody. What a shame!

    <pragma-> !factadd sum /call calc $arg[0]:-1 + $arg[1]:-2
       <PBot> sum added to the global channel.

    <pragma-> !sum
       <PBot> 1 + 2 = 3

    <pragma-> !sum 3
       <PBot> 3 + 2 = 5

    <pragma-> !sum 4 6
       <PBot> 4 + 6 = 10
2024-11-27 12:17:45 -08:00
Pragmatic Software
917cae2ffb
Plugin/Spinach: fix players exit game on /part and /quit 2024-11-22 03:17:39 -08:00
Pragmatic Software
7a7730d039
Interpreter: improve processing of embedded and split commands 2024-11-21 20:31:28 -08:00
Pragmatic Software
bea5aa071b
Plugin/Spinach: improve lie count log 2024-11-21 20:28:50 -08:00
Pragmatic Software
5f4b2989a1
Factoids: fact no longer adds ref channel to output 2024-11-21 20:21:14 -08:00
Pragmatic Software
947082f2a2
Plugin/ActionTrigger: don't handle events already processed by another command 2024-11-21 16:05:44 -08:00
Pragmatic Software
888da7dda1
Factoids: move enabled check to before /call 2024-11-15 01:15:37 -08:00
Pragmatic Software
c6433a662f
Commands/Factoids: remove "not owner" restriction on factset/factunset 2024-11-14 01:21:48 -08:00
Pragmatic Software
5bca8c7d16
Plugin/Spinach: Improvements 2024-11-13 21:43:22 -08:00
Pragmatic Software
343dbae57e
Plugin/Spinach: add help text; minor clean-ups 2024-11-10 18:39:14 -08:00
Pragmatic Software
dbff4bc2f7
Interpreter: reset split_result after processing it
This fixes e.g.:

    <pragma-> ,{echo foo ;;; echo bar}  ,{echo baz}
       <PBot> foo bar
       <PBot> foo baz

To instead produce the expected:

    <PBot> foo bar
    <PBot> baz
2024-11-10 17:45:33 -08:00
Pragmatic Software
8e2b0df17c
Update factoids 2024-11-10 09:53:45 -08:00
Pragmatic Software
72ac68fb02
Plugin/Spinach: rounds/questions/bonus rounds now configurable via settings
The number of rounds, questions and bonus rounds are now all configurable via
`spinach set settings`.

Refactored states to not transition of a false value is returned, to eliminate
all explicit "wait" states.
2024-11-09 20:54:10 -08:00