• Lua scripting patch for Syncterm(send/expect,recorder)

    From Heisenberg@VERT/HEISEN to All on Mon Oct 19 14:01:11 2026
    Hi everyone
    I wanted to script some of my BBS logins and routine visits(log in, page past the bulletins, check mail, log off), so i added a small Lua scripting layer to SyncTERM 1.9. Its working well for me and i thought others might find it usefull.

    What it does:
    send/expect scripting in Lua 5.4:expect("Login:, sendln(bbs/user),
    with timeouts and if/then on whichever prompt showed up

    background triggers, e.g. answer every "--More--" automaticly

    plain text, Lua pattern, or PCRE regex matching

    a recorder: Alt-R, use the BBS, Alt-R again and you get a script you can replay (passwords are not saved to the file)

    run a script with -x on the command line, from a new "Script" field on a directory entry, or with Alt-S while connected

    The script runs inside the terminal's main loop, so the screen and keyboard stay live while its waiting and you can take over any time. Without a script, nothing changes.

    Source patches and a Linux build are here: https://github.com/Heisenberg61/syncterm-lua

    The first commit is the stock 1.9 source tarball, so the diff against it shows the whole change. Its mostly one new file (script.c) plus small hooks in term.c, bbslist.c, menu.c and the makefiles, and it builds without Lua via WITHOUT_LUA=1.

    I tested it with a script that can play through a full game of Lord 4.6 hands off.. but its a little buggy so far

    Its only been tested on Linux, but it _SHOULD_ compile and run on windows.

    To be clear, this is an unofficial fork. Please send any problems with it to
    me not to Deuce

    Thanks

    ---
    þ Synchronet þ Kalgoorlie Retro BBS, Kalgoolrie, WA
  • From Digital Man@VERT to Heisenberg on Mon Oct 19 11:37:33 2026
    Re: Lua scripting patch for Syncterm(send/expect,recorder)
    By: Heisenberg to All on Mon Oct 19 2026 02:01 pm

    I wanted to script some of my BBS logins and routine visits(log in, page past the bulletins, check mail, log off), so i added a small Lua scripting layer to SyncTERM 1.9. Its working well for me and i thought others might find it usefull.

    Deuce added scripting (using the 'wren' engine/language instead of Lua) to SyncTERM v1.10a - you might consider using that instead.
    --
    digital man (rob)

    Rush quote #29:
    Nowhere is the dreamer or the misfit so alone
    Norco, CA WX: 88.8øF, 20.0% humidity, 0 mph SSW wind, 0.00 inches rain/24hrs ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Heisenberg@VERT/HEISEN to Digital Man on Tue Oct 20 00:06:11 2026
    Hi Rob,

    Thanks for the pointer. I hadn't seen the Wren work, since I'd only been following the 1.9 release. I've now had a read through Wren.adoc in git
    and it's far more extensive than what I put together. It goes a long way
    past session automation.

    The two things my patch adds that I couldn't find there are a blocking send/expect style of script (expect "Login:", send the name, wait for
    one of several prompts with a timeout, branch on which one came back),
    and a recorder that turns a live session into a replayable script.
    Those are what I was mainly after, for login scripts and for driving
    door games.

    My patch is against 1.9 and won't carry over to 1.10, since the menu
    code it hooks into has moved to Wren. So rather than maintain a Lua fork
    long term, I'll look at doing expect/send and the recorder as a Wren
    package for 1.10, along the lines of the Yankee Trader one. In the
    meantime the Lua patch will stay a clearly labelled 1.9 add-on.

    If Deuce has any thoughts on whether something like that would be
    useful, or would rather it be done a particular way, I'm happy to hear
    them.

    Thanks again,
    Michael

    ---
    þ Synchronet þ Kalgoorlie Retro BBS, Kalgoolrie, WA
  • From poindexter FORTRAN@VERT/REALITY to Heisenberg on Tue Oct 20 09:53:31 2026
    Heisenberg wrote to All <=-

    Hi everyone
    I wanted to script some of my BBS logins and routine visits(log in,
    page past the bulletins, check mail, log off), so i added a small Lua scripting layer to SyncTERM 1.9. Its working well for me and i thought others might find it usefull.

    I would love to see this in SyncTerm. Telix's SALT language was popular
    back in the day, and I scripted whole interactions with BBSes from
    login, hitting escape to get past the EMSI banner, passing creds,
    downloading/uploading messages, and logging off.


    ... ZIMA TASTES BETTER WHEN IT'S ILLEGAL
    --- MultiMail/Win v0.52
    þ Synchronet þ .: realitycheckbbs.org :: scientia potentia est :.