To configure the “chat” features of the Synchronet Terminal Server, use the SCFG->Chat Features menu option.
╔═════════════════════════════╗ ║ Chat Features ║ ╠═════════════════════════════╣ ║ │Artificial Gurus ║ ║ │Multinode Chat Actions ║ ║ │Multinode Chat Channels ║ ║ │External Sysop Chat Pagers ║ ╚═════════════════════════════╝
Here you may configure the real-time chat-related features of the BBS.
The Guru is an artificial conversational engine users can chat with for entertainment. The sysop can configure multiple gurus, each with its own personality and intelligence engine, defined in a .dat file in ctrl (the default guru's brain is ctrl/guru.dat). See GURU.DAT customization for the data file format.
This menu lists the configured gurus. Use Ins to add a new guru, Del to remove one. Selecting a guru opens its sub-menu.
╔═════════════════════════════════════════════╗ ║ Artificial Gurus ║ ╠═════════════════════════════════════════════╣ ║ │The Guru ║ ║ │ ║ ╚═════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╗ ║ The Guru ║ ╠══════════════════════════════════════════════════════════╣ ║ │Guru Name The Guru ║ ║ │Guru Internal Code GURU ║ ║ │Access Requirements ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Guru Name | The display name users see when chatting with this guru. |
| Guru Internal Code | Up to 16 characters; uniquely identifies this guru within Synchronet. Also the base filename of the intelligence engine for this guru (with the .dat extension, located in ctrl — e.g. internal code GURU loads ctrl/guru.dat). |
| Access Requirements | An ARS expression — only users matching the requirements can chat with this guru. |
Multinode Chat Actions are configured in “sets” which can be assigned to Multinode Chat Channels.
╔══════════════════════════════════════════════════════════╗ ║ Main Chat Action Set ║ ╠══════════════════════════════════════════════════════════╣ ║ │Action Set Name Main ║ ║ │Configure Chat Actions... ║ ╚══════════════════════════════════════════════════════════╝
This is a list of the configured multinode chat actions. The users can use these actions in multinode chat by turning on action commands with the /A command in multinode chat. Then if a line is typed which begins with a valid action command and has a user name, chat handle, or node number following, the output string will be displayed replacing the %s symbols with the sending user's name and the receiving user's name (in that order).
╔════════════════════════════════════════════════════════════════════╗ ║ Main Chat Actions ║ ╠════════════════════════════════════════════════════════════════════╣ ║ │ANGER rh%s is trying to make %s angry. ║ ║ │ANGRY rh%s is very angry and wants %s to know about it. ║ ║ │APPLAUD bhCLAP CLAP CLAP![]y%s expresses approval with %s. ║ ║ │ARMWRESTL mh%s arm wrestles with %s. ║ ║ │BARK rhRUFF![]m%s barks at %s. ║ ║ │BEAT-UP hb%snb beats h%s up. ║ ║ │BLUSH rh%s turns to %s and blushes shyly. ║ ║ │BOW nc%s bows to %s. ║ ║ │BURP bhBELCH![]y%s burps at %s. ║ ║ │BUY mh%s attempts to purchase %s. ║ ║ │BYE mh%s says "wBYEm" to %s. ║ ║ │CARESS mh%s caresses %s. ║ ║ │CHEAT rh%s is cheating on %s. ║ ║ │COMFORT bh%s comforts %s. ║ ║ │COUGH ghACK ABLEW AHEM![]ng%s coughs at %s. ║ ║ │CRY nm%s looks at %s and cries. ║ ║ │CUDDLE mh%s cuddles with %s. ║ ╚════════════════════════════════════════════════════════════════════╝
This menu lists the configured chat channels. Use Ins to add a new channel, Del to remove one. Selecting a channel opens its sub-menu:
╔══════════════════════════════════════════════════════════╗ ║ Main Chat Channel ║ ╠══════════════════════════════════════════════════════════╣ ║ │Name Main ║ ║ │Internal Code Main ║ ║ │Cost in Credits 0 ║ ║ │Access Requirements ║ ║ │Password Protection No ║ ║ │Guru Joins When Empty Yes ║ ║ │Channel Guru The Guru ║ ║ │Channel Action Set Main ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Name | Channel display name shown to users in the channel list. |
| Internal Code | Up to 16 characters; uniquely identifies this channel within Synchronet. |
| Cost in Credits | Credits deducted from a user's account when joining this channel. 0 = free. |
| Access Requirements | An ARS expression — users not matching the requirements cannot see or join this channel. |
| Password Protection | If Yes, users may lock the channel with a password; only users knowing the password can enter once it's locked. |
| Guru Joins When Empty | If Yes, the configured Channel Guru will join the channel when only one user is present. |
| Channel Guru | The Artificial Guru that joins when the channel is empty (if Guru Joins When Empty is enabled). |
| Channel Action Set | The Chat Action Set available to users in this channel. |
External sysop pagers run a command (typically to play a sound or send an external notification) when a user pages the sysop. Multiple pagers may be configured with different access requirements — e.g. play different sounds for different user classes, or trigger a notification only after hours.
Use Ins to add a new pager, Del to remove one. Selecting a pager opens its sub-menu.
╔═════════════════════════════════════════════╗ ║ External Sysop Chat Pagers ║ ╠═════════════════════════════════════════════╣ ║ │?sound.js %!syspage.wav WIN32 ║ ║ │ ║ ╚═════════════════════════════════════════════╝
╔══════════════════════════════════════════════════════════╗ ║ Sysop Chat Pager #1 ║ ╠══════════════════════════════════════════════════════════╣ ║ │Command Line ?sound.js %!syspage.wav ║ ║ │Access Requirements WIN32 ║ ║ │Native Executable No ║ ║ │I/O Method FOSSIL or UART ║ ║ │Use Shell or New Context No ║ ╚══════════════════════════════════════════════════════════╝
| Option Name | Description |
|---|---|
| Command Line | The command line to invoke when the sysop is paged. The example above runs the JavaScript module sound.js with the syspage.wav file in exec. |
| Access Requirements | An ARS expression — the pager runs only for users matching the requirements. The example WIN32 restricts to Windows hosts. |
| Native Executable | Yes if the command is a native (non-DOS) executable; No for DOS programs (which require a DOS emulator on *nix). |
| I/O Method | How standard I/O is handled — FOSSIL or UART (intercepted), Standard I/O (stdin/stdout pass-through), etc. |
| Use Shell or New Context | If Yes, the command is run via a shell (or a new context) rather than executed directly. |