Skip to content

Built-in Modules

Every screen on an ENiGMA½ board is a menu module. Most are the standard handler, which needs no code — but a good number of features ship as purpose-built modules, and each of those accepts its own config block and exposes its own fields for theming.

This section is the reference for the modules ENiGMA½ ships with. You do not need to write any code to use them: point a menu.hjson entry at one, supply its config, and style it from your theme.hjson.

ModuleWhat it does
Message Conference & Area ListsBrowsing and changing conference and area
Configure NewscanWhich conferences, areas and file areas a user’s newscan covers
Set Newscan DateResetting a newscan pointer to a chosen date
Auto Signature EditorEditing the signature appended to a user’s posts
ActivityPub Message BrowserListing Notes received from the Fediverse
ActivityPub Message ViewerReading a single Fediverse Note
ModuleWhat it does
File Area ListBrowsing, searching and queueing files
File Base Download ManagersThe legacy and web download queues
File Transfer Protocol SelectPicking X/Y/ZModem before a transfer
ModuleWhat it does
Who’s OnlineWho is connected right now, and what they are doing
Last CallersWho called recently, with action indicators
User ListAll users on the system
TopXTop user statistics for the week, month or all time
Node to Node MessagingSending a message to a user on another node
OnelinerzThe retro onelinerz wall
RumorzThe classic rumorz board
BBS ListA user-maintained list of other boards
ModuleWhat it does
Waiting For Caller (WFC)The sysop dashboard — node status, live logs and actions
Sysop ChatTwo-way split-screen chat with a connected user
Pre-Auth FeedbackLetting visitors write to the sysop before logging in
2FA/OTP ConfigWhere users opt in to two-factor authentication
ModuleWhat it does
Show ArtAdvanced art display beyond a standard menu’s art spec

A module is attached to a menu entry with module, and configured through the config block of that entry:

lastCallers: {
art: LASTCALL
module: last_callers
config: {
dateTimeFormat: ddd MMM Do
}
form: {
0: {
mci: {
VM1: { height: 14 }
}
}
}
}

Each page below documents that module’s config keys and the itemFormat fields it makes available. See Menu HJSON for the surrounding menu entry, MCI Codes for the format syntax, and Themes for where per-menu styling lives.