====== Chat ======

The **Chat Section** lets you talk with other users in real time — multinode chat, private node-to-node chat, paging the sysop, talking to the BBS's AI //Guru//, and reaching out via Internet Relay Chat (IRC), InterBBS instant messaging, or finger. The menu shown here is the stock //Chat Section//; a sysop may have replaced it with a customized version.

To enter the Chat menu, press the key your [[user:shell:|command shell]] binds to the Chat Section. In [[user:shell:classic|Classic]], that's ''C'' from the Main or File Transfer prompt.

===== The Chat menu =====

A live capture from [[bbs:vertrauen]] (Synchronet v3.22, UTF-8 / ANSI):

  ┌─────────────────────────────────────┐
  │ Join a Chat                         │
  │  J  Join/initiate multinode chat    │
  │  P  Join/start private node chat    │
  │  C  Chat with Sysop: On Another Line│
  │  T  Talk with The Guru (AI)         │
  │  F  Finger (query) remote user/sys  │
  │  R  Internet Relay Chat (IRC)       │
  │  I  InterBBS Instant Messaging      │
  ├── Toggles ──────────────────────────┤
  │  D  Chat availability    state: On  │
  │  A  Node activity alerts state: On  │
  │  S  Split-screen chat    state: On  │
  ├─────────────────────────────────────┤
  │  Q  Quit chat menu                  │
  └─────────────────────────────────────┘
  Anytime: ^U Users online  ^P Private msg

  Chat:

===== Commands =====

==== J — Join/initiate multinode chat ====

Drops you into a 99-channel multi-user chat system, starting on **channel 1**. Anything you type is broadcast on the channel when you press ''<CR>''. Type **''/''** to switch to **chat command mode** — see [[#chat_command_prompt|below]].

''Ctrl-U'' (list users online) and ''Ctrl-P'' (send private message) work everywhere, including inside chat.

==== P — Private node-to-node chat ====

Initiates or joins a **two-way private chat** with another user. Two cases:

  * **Initiating** — you're prompted for the username you want to chat with. The system pages them; if they accept, you both enter a private session.
  * **Joining** — if someone has paged you, ''P'' from the Chat menu joins them in private chat.

Inside private chat, ''/'' enters chat-command mode. All chat commands work **except** ''/P'' (you can't add a third party to a private chat) and ''/#'' (no channels in private chat). The extra ''/E'' command toggles local echo on/off — useful if your terminal program supports split-screen chat (e.g. Telix's Alt-Y).

==== C — Page the sysop to chat ====

Alerts the sysop that you'd like to chat. The sysop's status (//"On Another Line"//, //"Programming in C"//, //"AFK until 9pm"//, etc.) is shown next to this menu item — sysops set it in real time. If the sysop is available and accepts, you'll enter a chat session.

==== T — Talk with The Guru (AI) ====

The Synchronet //Guru// is a configurable AI engine — modern Guru implementations may use real LLMs, classic ones used pattern-matching scripts. The Guru can be programmed to help users navigate the BBS, answer FAQs, or just be entertaining. Whether the Guru is configured at all is up to the sysop.

==== F — Finger (query) remote user/system ====

Sends a [[ref:fidonet#finger|finger]] query to a remote user or system to fetch their finger-info file (typically: who's logged in, idle time, plan/profile data). Synchronet's [[server:finger|Finger]] server is the receiving side.

==== R — Internet Relay Chat (IRC) ====

Launches an IRC client (usually [[https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/irc.js|''irc.js'']]) to connect to an IRC network. The Synchronet [[network:irc.synchro.net|Synchronet IRC Network]] is reachable from most Synchronet BBSes; other public IRC networks may also be configured.

==== I — InterBBS Instant Messaging ====

The [[:module:sbbsimsg|Synchronet Instant Message]] system — talk in real-time with users on **other** Synchronet BBSes that have it enabled. Like Ctrl-P but cross-system.

===== Toggles =====

These don't open new contexts — pressing the key just flips a state, and the menu redraws to show the new state.

==== D — Chat availability ====

Allows other users to **page you** (state: //On//) or blocks them (state: //Off//). Default: //On//. When //Off//, your node appears in the users-online list with ''(P)'' appended to your status — e.g. ''Reading Messages (P)'' — so other users can see that paging you is disabled before they try.

==== A — Node activity alerts ====

Whether you receive **realtime notifications** about other users' activity (logons, logoffs, etc.) — state: //On// shows them, //Off// suppresses. Default: //On//. When //Off//, your node appears in the users-online list with ''(A)'' appended — e.g. ''Reading Messages (A)'' — indicating activity alerts are disabled. Useful when you're trying to read messages without interruption.

Both indicators can appear together: ''Reading Messages (P)(A)'' means paging and alerts are both off.

==== S — Split-screen chat ====

Whether multinode chat splits the screen between local and remote text — state: //On// uses split-screen, //Off// is line-mixed. Default: //On//. Modern terminals handle this well; older or dumb terminals may want it //Off//.

===== Chat Command prompt =====

While inside multinode or private chat, type **''/''** to switch to the **Chat Command prompt**. Available commands:

  * **?** — display the Chat Command menu
  * **P** — page another user to chat (multinode only)
  * **#** — change channel (where //#// is the channel number; multinode only)
  * **L** — list node activity
  * **E** — toggle local echo off/on (private chat only)
  * **Q** — quit the chat session
  * **Ctrl-U** — list users online
  * **Ctrl-P** — send private message to another user

==== Channels ====

Use ''Ctrl-U'' to see who's on which channel. To switch, type the channel number at the chat-command prompt. If you're the **first user** to enter a previously-empty channel, you're offered the chance to **password-protect** it — anyone joining will need to know the password. The protection is lifted when you (the protector) leave. Only the first user gets the choice. The number of channels available to you is determined by the sysop.

===== Quitting =====

''Q'' from the Chat **menu** returns to the previous prompt (typically Main).\\
''Q'' (or ''/Q'') from inside a **chat session** ends the session and returns to the Chat menu.

===== See Also =====

  * [[user:|User Documentation]]
  * [[user:list|User listings]]
  * [[user:ctrl_keys|Ctrl-U / Ctrl-P]] — work anywhere, including inside chat
  * [[:module:sbbsimsg|Synchronet Instant Messaging]]
  * [[network:irc.synchro.net|Synchronet IRC Network]]
  * [[:module:chat_sec|chat_sec module — sysop reference]]

{{tag>user chat multinode irc imsg guru}}
