wwivbbs / wwiv

WWIV BBS Software v5
http://www.wwivbbs.org
Other
186 stars 71 forks source link

No mechanism for multiple LOGON_CMDs #1625

Open ericpareja opened 4 months ago

ericpareja commented 4 months ago

With our current code, there can only be one LOGON_CMD defined in WWIV.INI.

For flexibility, a function for reading in a .json file containing multiple logon commands consisting of .bas, door, .sh or .bat scripts to be executed on logon can be written.

See bbs/lilo.cpp lines 844-850.

ericpareja commented 3 months ago

in lilo

  1. check if {logon|logoff}.json exists in data dir
  2. read it
  3. loop and execute entries
wwiv commented 1 month ago

I've never needed more than just calling a single shell script or bat file, why make it more complicated?

wwiv commented 1 month ago

Is it a case of wanting to run both a basic script and some shell command?

the-godfather-007 commented 1 month ago

To chime in as this has also been a request of mine:

The reason for wanting what is being asked is so that one can customize their login experience for the user based on the sysops vision. If I want to run a door, a .bas script (or more,) run a discord webhook via a .sh file, display various ANSI's such as FTN affiliates, etc.. Many BBSes customize and personalize their BBSes this way but not everyone is familiar with .bas nor .sh / .bat files to know how to call the aforementioned up for display. In addition the logon even is called by WWIV at a singular point within lilo and does not allow replacement of lilo functions such as Auto Exec, One Liners, WWIV Network Recent Activity, with custom scripting. Making lilo a MENU with it's functions a FEATURE allow for all of the aforementioned. I don't think a .json is necessary rather a menu and or as a bandaid an example .bas script showing how we can at least serve up ansi files, .sh scripts, .bas scripts, and doors, from a single .bas script within the wwiv.ini logon event. It's still not ideal for customization and personalizing however for the sake of educating on .bas scripting it's helpful either way.