EPIC help collection: comprehensive index
Welcome to the help collection. For a short current introduction, start with getting started, commands, functions, and scripting.
This index covers commands, functions, settings, hooks, key bindings, window operations, and scripts. Follow each reference for syntax, prerequisites, limitations, and examples.
Scripts must be loaded before their definitions are available.
Historical entries are collected in removed in EPIC6 and the older EPIC4-to-EPIC5 compatibility lists.
Using the index
- CTCP handlers other than ACTION in this index are supplied by
script/ctcp. The retained outgoing reply-throttle branch does not establish a working limit or a supportedno_ctcp_floodsetting. notify,ignore, mail checking, and many compatibility commands/settings are supplied through scripts rather than their former built-in interfaces. Script availability must be checked alongside dependencies.set client_informationsupplies the VERSION responder's configurable text, whileset user_informationsupplies USERINFO; neither is the CLIENTINFO command-description source.switchselects wildcard patterns, not regular expressions.blessexposes the oldest enclosing locked waiting frame under its documented scope rules; it does not automatically expose the immediate caller when no frame is locked.- IRC network operations remain subject to server support and permissions. KICK, INVITE, MODE, WHO, WHOIS, and similar requests do not guarantee their requested result. TRACE asks for IRC routing diagnostics, not an IP traceroute. KNOCK requests network-specific channel entry assistance rather than guaranteeing an invitation.
- Hook names describe callback opportunities, not guarantees that every operation succeeds or that all state is already complete. In particular, CHANNEL_SYNC has the cache-completeness limitations in its reference, and suppression normally controls the caller's default handling rather than undoing the network event.
The most common commands
| Reference | Description |
|---|---|
| away | Tell the server you are not paying attention |
| channel | Join or associate a channel with a window. |
| clear | Do a window clear; Display nothing in the window. |
| ctcp | Client To Client Protocol: ask other clients for information. |
| disconnect | Close the connection to a server |
| exit | Tell the client to shut down. |
| invite | Ask someone to join a channel. |
| join | Join or associate a channel with a window. |
| kick | Remove someone from a channel. |
| knock | Ask to be invited to a channel. |
| lastlog | Redisplay stuff that has previously shown up in a window. |
| log | General purpose logfiles. |
| me | Tell the channel what you are doing with a ctcp action. |
| mode | Change the mode of a channel. |
| msg | Send a message to someone. |
| nick | Change your nickname. |
| notify | Script-provided nickname monitoring through the server’s MONITOR facility. |
| part | Leave a channel. |
| query | Change the current target of a window to a nickname. |
| quit | Same as exit. |
| reconnect | Reconnect to a server. |
| server | Connect to an irc server. |
| topic | Change the topic of the channel. |
| who | Ask the server for a list of who is on the channel. |
| whois | Ask the server for detailed information about one person. |
| whowas | Ask the server for info about someone who is not on irc any more. |
Less common IRC commands
| Reference | Description |
|---|---|
| admin | Ask the server how to contact the server admin. |
| connect | Ask a server on the network to link to another server not on the network (oper only). |
| ctcp action | Action protocol used by ME/DESCRIBE; direct CTCP sending bypasses SEND_ACTION. |
| ctcp clientinfo | Ask another client what ctcp commands they support. |
| ctcp echo | Ask another client to send you a string back. |
| ctcp finger | Ask another client about the man behind the mask. |
| ctcp ping | Ask another client to respond, to measure lag time. |
| ctcp time | Ask another client what time they think it is. |
| ctcp userinfo | Ask another client for its user-customizable string. |
| ctcp utc | Render a supplied seconds-since-epoch timestamp in the receiver's local timezone. |
| ctcp version | Ask for client identification; replies may be customized or falsified. |
| deop | Revoke your own irc operatorship privileges (oper only) |
| describe | Tell another nick what you are doing with a ctcp action. |
| die | Tell your server to shut down (oper only) |
| hostname | Change your virtual hostname. |
| info | Ask the client and server about the software you're using. |
| ison | Ask the server if nicknames in a list are on the network. |
| kill | Remove someone from the irc network. (oper only) |
| links | Ask the server what servers are on the network. |
| list | Ask the server to tell you about the network's public channels. |
| load | Import and run commands from a file. |
| lusers | Ask the server how many users and servers are on the network. |
| map | Ask the server to show you the topology of the network. |
| motd | Ask the server for the Message Of The Day. |
| names | Ask the server about who is on what channels. |
| note | Leave a message for someone when they are away (rare) |
| notice | Send a response to someone's message. |
| oper | Assume operatorship privileges (oper only). |
| ping | Figure out how lagged you are. |
| rehash | Ask the server to re-read its config files (oper-only) |
| restart | Ask the server to shut down and restart (oper-only) |
| rping | Send an RPING to the server. |
| servlist | Send a SERVLIST to the server. |
| squery | Send an SQUERY to someone. |
| squit | Remove a server from the network. (oper only) |
| stats | Ask the server for statistics (oper only) |
| time | Ask the server what time it thinks it is. |
| trace | Request IRC network routing diagnostics from the server. |
| uping | Ping the server. |
| userhost | Ask the server for a nick's userhost. |
| userip | Ask the server for a nick's ip address. |
| usrip | Ask the server for a nick's ip address. |
| version | Ask the server what software it is using. |
| wallchops | Send a message to channel operators. |
| wallops | Send a message to all irc operators (oper only). |
Commands
| Reference | Description |
|---|---|
| abort | Kill the client with SIGABRT (trap to gdb) |
| alias | Create your own commands |
| assign | Create your own variables |
| beep | Make your terminal beep |
| bind | Tell the client what to do when you press a key |
| bind_altcharset | Insert the char that switches your font between character sets. |
| bind_backspace | Delete the character before the cursor |
| bind_backward_character | Move the cursor left one position |
| bind_backward_word | Move the cursor to the start of the previous word |
| bind_beginning_of_line | Move the cursor to the start of input line |
| bind_blink | Insert the char that toggles blinking |
| bind_bold | Insert the char that toggles bold video |
| bind_clear_screen | Do a window clear |
| bind_delete_character | Delete the character under the cursor |
| bind_delete_next_word | Delete from the cursor to the end of the next word |
| bind_delete_previous_word | Delete from the cursor to the start of the previous word. |
| bind_delete_to_previous_space | Delete from the cursor to the first space before the cursor. |
| bind_end_of_line | Move the cursor to the end of the input line. |
| bind_erase_line | Delete the entire input line. |
| bind_erase_to_beg_of_line | Delete from the cursor to the start of input. |
| bind_erase_to_end_of_line | Delete from the cursor to the end of input. |
| bind_forward_character | Move the cursor right one position. |
| bind_forward_word | Move the cursor to the next word. |
| bind_highlight_off | Insert the character that turns all highlights off. |
| bind_next_window | Move down one visible ("split") window. |
| bind_nothing | Perform no action (unbinds a sequence) |
| bind_parse_command | Execute a block of code (provided as argument) |
| bind_previous_window | Move up one visible ("split") window. |
| bind_quote_character | Tell the client the next keypress should ignore its keybinding. |
| bind_refresh_inputline | Tell the client to redraw the input line. |
| bind_refresh_screen | Tell the client to redraw the entire screen. |
| bind_refresh_status | Tell the client to redraw the status bars. |
| bind_reset_line | Delete the entire input line but don't save it in the cutbuffer. |
| bind_reverse | Insert the character that toggles reverse video. |
| bind_scroll_backward | Move backwards (older) in the scrollback buffer. |
| bind_scroll_end | End scrolling back |
| bind_scroll_forward | Move forwards (newer) in the scrollback buffer. |
| bind_scroll_start | Move to the start (oldest) of the scrollback buffer. |
| bind_self_insert | Insert the character itself into the input buffer. |
| bind_send_line | Process the contents of the input buffer and reset the input buffer. |
| bind_swap_last_window | Do a window last. |
| bind_swap_next_window | Do a window next. |
| bind_swap_previous_window | Do a window previous. |
| bind_switch_channels | Cycle through the channels in a window. |
| bind_switch_query | Cycle through the queries in a window. |
| bind_toggle_insert_mode | Toggle between inserting before the cursor and overwriting what is under the cursor. |
| bind_toggle_stop_screen | Do a window hold_mode TOGGLE. |
| bind_type_text | Insert some text (provided as argument) into the input buffer. |
| bind_unclear_screen | Do a window unclear. |
| bind_underline | Insert the character that toggles underline video. |
| bind_unstop_all_windows | Do a window hold_mode OFF in all windows. |
| bind_yank_from_cutbuffer | Insert into the input line whatever we last deleted into the cutbuffer. |
| bless | Expose the oldest enclosing locked waiting frame; no enclosing scope is attached when none is locked. |
| break | Early termination of the loop; advance to the next command in the block. |
| call | Dump the current script call stack to the window. |
| cd | Change the client's current working directory |
| comment | The no-op command. |
| continue | Early termination of the current iteration of a loop; go back to the top and start the next iteration. |
| defer | Run a command only when the client is not doing something. |
| do | Post-test looping command |
| dump | Bulk-removal of aliases, assigns, ons, etc |
| echo | Display something to a window. |
| eval | Expand variables in a statement again and execute it. |
| exec | Run unix commands in a subshell. |
| fe | Iterate over a word list |
| fec | Iterate over the characters in a string |
| for | Multi-purpose looping command. |
| foreach | Iterate over aliases or assign names in a structure. |
| hook | Throw an on hook event. |
| if | Conditional command. |
| input | Get the user to answer a question with a modal prompt. |
| input_char | Get the user to type a key with a modal prompt. |
| license | Display the copyright and legal disclaimers. |
| local | Create an assign that goes away when the alias is over. |
| on | Register event handlers for certain types of hooks |
| on_action | Hooked when people do me or describe. |
| on_channel_lost | Hooked when you stop being on a channel. |
| on_channel_nick | Hooked when people change their nickname. |
| on_channel_signoff | Hooked when people leave a channel. |
| on_channel_sync | Channel synchronization notification; not a guarantee that every possible fact is known. |
| on_connect | Hooked when a server accepts you. |
| on_ctcp | Hooked when a ctcp message needs to be displayed. |
| on_ctcp_reply | Hooked when someone response to your ctcp. |
| on_ctcp_request | Hooked when someone sends you a ctcp. |
| on_disconnect | Hooked when you're not connected to a server. |
| on_error | Hooked when the server sends you an ERROR. |
| on_exec | Hooked when an exec process writes to stdout. |
| on_exec_errors | Hooked when an exec process writes to stderr. |
| on_exec_exit | Hooked whan exec process terminates. |
| on_exec_prompt | Hooked when exec process writes a partial line. |
| on_exit | Hooked when the client is shutting down |
| on_general_notice | Hooked when you receive any kind of notice. |
| on_general_privmsg | Hooked when you receive any kind of msg. |
| on_hook | Hooked when you use the hook command. |
| on_idle | Hooked once a minute when you're not pressing keys. |
| on_input | Hooked when you use bind send_line. |
| on_invite | Hooked when someone invites you to a channel. |
| on_join | Hooked when you join a channel. |
| on_keybinding | Hooked each time a keybinding is executed. |
| on_kick | Hooked when someone is kicked from a channel. |
| on_kill | Hooked when someone is kicked off of irc. |
| on_list | Hooked for each line when you do list. |
| on_mode | Hooked when someone changes the mode on a channel. |
| on_mode_stripped | Hooked once for each mode change on a channel. |
| on_msg | Hooked when someone sends you a private message. |
| on_msg_group | Hooked when someone sends a message to everyone. |
| on_names | Hooked for each line when you do names. |
| on_new_nickname | Hooked when the client needs a new nickname from you. |
| on_nickname | Hooked when someone changes nickname |
| on_notice | Hooked when someone has sent you a notice. |
| on_numeric | Hooked when you receive a numeric reply from server. |
| on_odd_server_stuff | Hooked when the server sends something that can't be parsed. |
| on_oper_notice | Hooked when the server sends a message to opers. |
| on_operwall | Hooked when someone sends a message to all opers. |
| on_part | Hooked when someone leave the channel. |
| on_pong | Hooked when the server responds to your ping request. |
| on_public | Hooked when someone talks on a current channel. |
| on_public_msg | Hooked when someone outside the channel talks. |
| on_public_notice | Hooked when someone sends a notice to the channel. |
| on_public_other | Hooked when someoen talks to a non-current channel. |
| on_raw_irc | Hooked for every line we get from the server. |
| on_send_action | Hooked for every me or describe you do. |
| on_send_ctcp | Hooked for every ctcp you send out. |
| on_send_msg | Hooked for every msg you send to someone else. |
| on_send_notice | Hooked for every notice you send out. |
| on_send_public | Hooked for every msg you send to a channel. |
| on_send_to_server | Hooked for every line you send to the server. |
| on_server_established | Hooked when we connect to a server, before we register. |
| on_server_lost | Hooked when we lose a server connection for any reason. |
| on_server_notice | Hooked when the server sends you a notice. |
| on_server_status | Hooked when the status of a server changes. |
| on_set | Hooked when you use the set command. |
| on_signal | Hooked when an OS signal is caught by the client. |
| on_signoff | Hooked when someone leaves irc. |
| on_silence | Hooked when someone has silenced you. |
| on_ssl_server_cert | Hooked when an ssl server sends us its certificate. |
| on_status_update | Hooked every time a status bar changes. |
| on_switch_channels | Hooked every time you change the current channel. |
| on_switch_windows | Hooked every time you change the current window. |
| on_timer | Hooked at the top of every minute. |
| on_topic | Hooked when someone changes the topic of a channel. |
| on_unknown_command | Hooked when you run a command that isn't builtin or an alias. |
| on_unload | Hooked when the user does an unload. |
| on_wallop | Hooked when someone does a wallop. |
| on_who | Hooked for each line of a who reply. |
| on_window | Hooked for each line of output to a window. |
| on_window_beforekill | Hooked just before a window is killed. |
| on_window_command | Hooked for each operation of a window command. |
| on_window_create | Hooked when you create a new window. |
| on_window_kill | Hooked after a window has been destroyed. |
| on_window_notified | Hooked when a hidden window that is notifying has output. |
| on_window_server | Hooked when a window changes its server association. |
| on_yell | Hooked when the client outputs a diagnostic message. |
| package | Tag aliases, assigns, ons, etc, as belonging to a package group that can be unloaded later. |
| parsekey | Execute a keybinding by name. |
| pause | Nonblocking sleep for a time, or until the user presses a key. |
| pop | Remove the last word from a variable. |
| pretend | Pretend the server just sent the client a string. |
| push | Add a word to the end of a variable. |
| queue | Add a command to a named queue for executing later. |
| quote | Send a string directly to the server. |
| rbind | Display all of the sequences bound to a keybinding. |
| repeat | Execute some commands multiple times. |
| return | Early termination of the current atomic scope. |
| say | Say something to the current channel. |
| send | Say something to the current target. |
| sendline | Pretend the user just typed this string at the input prompt. |
| set | Change a configuration variable. |
| set_always_split_biggest | Whether to split current window or biggest window for window new. |
| set_banner | The thing to display before system messages (ie, ***) |
| set_banner_expand | Whether to run set banner through the $-expander. |
| set_beep | Whether to allow beeps or eat them. |
| set_channel_name_width | How wide channel name should be on status bar. |
| set_client_information | Configurable text returned by the supplied CTCP VERSION responder. |
| set_clock | Whether to run the system clock (turning off breaks stuff!) |
| set_clock_24hour | Whether the system clock should be 12 hour or 24 hour. |
| set_clock_format | What strftime() format to use to make the system clock. |
| set_clock_interval | How often to update the system clock. |
| set_cmdchars | What characters are used before a command (ie, /) |
| set_comment_hack | Whether to allow comments in the standard loader in the middle of lines. |
| set_continued_line | What to prefix before broken-up physical lines. |
| set_current_window_level | Assume the current window always owns these levels, overruling the window levels. |
| set_debug | Get help debugging your script. |
| set_default_realname | The value we send to the server for your IRCNAME |
| set_default_username | The value we sent to the server for your username |
| set_dispatch_unknown_commands | Whether to bother the server with your typos. |
| set_display | Whether to suppress output to windows. |
| set_floating_point_math | Whether to do math in floating point. |
| set_floating_point_precision | How many decimal places to return for floating point numbers. |
| set_hide_private_channels | Whether to hide the channel name on the status bar. |
| set_hold_interval | Script-provided setting. The default window hold_interval value. |
| set_hold_mode | Script-provided setting. The default window hold_mode value. |
| set_hold_slider | The default window hold_slider value. |
| set_indent | Whether to indent broken lines. |
| set_input_prompt | What prompt to use in the input line. |
| set_insert_mode | Whether to insert before or overwrite the char under the cursor. |
| set_key_interval | How many milliseconds until ambiguous keybindings time out. |
| set_lastlog | What the default window lastlog size should be. |
| set_lastlog_level | What the default window lastlog_level should be. |
| set_lastlog_rewrite | Set a default value for LASTLOG -REWRITE |
| set_load_path | Where to look for load files. |
| set_log | Whether to write everything displayed to the global logfile. |
| set_log_rewrite | Rewrite stuff before it is written to the global logfile. |
| set_logfile | The default global logfile name. |
| set_mail | Script-provided control of local mailbox checking. |
| set_mail_interval | Script-provided interval for local mailbox checking. |
| set_mangle_display | How to mangle stuff before we write it to the screen. |
| set_mangle_inbound | How to mangle stuff we receive from the server. |
| set_mangle_logfiles | How to mangle stuff we are writing to a logfile. |
| set_mangle_outbound | How to mangle stuff we are sending to the server. |
| set_metric_time | Whether to use regular (minute) or metric (milliday) units for the clock. |
| set_mode_stripper | Whether to turn on on mode_stripped. |
| set_new_server_lastlog_level | What level to give a window when you do window server to a new server. |
| set_no_control_log | Whether control character should be stripped from stuff being written to logfiles. |
| set_no_fail_disconnect | Whether the client should disconnect from server when writes fail. |
| set_notify_level | What the default window notify_level should be. |
| set_notify_on_termination | Whether to tell you that an exec process has finished. |
| set_num_of_whowas | Script-provided setting. How many whowas entries to ask the server for. |
| set_old_server_lastlog_level | Resolve level conflicts when merging a window onto an already connected server. |
| set_output_rewrite | How output should be rewritten before it's displayed. |
| set_pad_char | What char we should use for $[num]var expandos. |
| set_quit_message | What the default quit message should be. |
| set_screen_options | What flags should be passed to gnu screen. |
| set_scroll_lines | How many lines the display should scroll when new output occurs in a full window. |
| set_scrollback | How big the default window scrollback size is. |
| set_scrollback_ratio | How much (percentage) each scroll back or scroll forward moves the display |
| set_shell | Which shell should be used for exec |
| set_shell_flags | Which flags should be passed to your shell. |
| set_shell_limit | How many lines of output from an exec process before we shut it down. |
| set_show_channel_names | Whether to show the channel roster when joining a channel. |
| set_show_end_of_msgs | Script-provided setting. Whether to hook end-of-message events. |
| set_show_numerics | Whether to show the numeric or set banner in numeric replies. |
| set_show_status_all | Whether some status expandos show only in current window status or all window status. |
| set_show_who_hopcount | Script-provided setting. Whether to show the server hopcount in who replies. |
| set_status_away | How %A looks when you are away. |
| set_status_channel | How %C looks when you are on a channel. |
| set_status_chanop | How %@ looks when you are a chanop. |
| set_status_clock | How %T looks when the clock is on. |
| set_status_does_expandos | Whether to $-expand the status format. |
| set_status_format | What the status bar should look like. |
| set_status_format1 | What the top line of double status bar should be. |
| set_status_format2 | What the bottom line of double status bar should be. |
| set_status_halfop | What %@ looks like when you are a half-op |
| set_status_hold | What %H looks like when youre in hold mode. |
| set_status_hold_lines | How many lines you're holding in hold mode. |
| set_status_insert | What %I looks like when youre in insert mode. |
| set_status_mail | What %M looks like when you have mail. |
| set_status_mode | What %+ looks like for your channel mode. |
| set_status_nickname | What %N looks like for your nickname. |
| set_status_no_repeat | Don't repeat the last character of status format. |
| set_status_noswap | What appears when window swap is turned off. |
| set_status_notify | The list of hidden windows that have output. |
| set_status_oper | What %* looks like if you are an irc oper. |
| set_status_overwrite | What %I looks like when you're in overwite mode. |
| set_status_query | What appears when you have a query. |
| set_status_scrollback | What appears when you are in scrollback. |
| set_status_server | What the server name looks like. |
| set_status_ssl_off | What appears when server does not do ssl. |
| set_status_ssl_on | What appears when server does ssl. |
| set_status_umode | What your user mode looks like. |
| set_status_user | What %U looks like. |
| set_status_voice | What %@ looks like when you're a channel voice. |
| set_status_window | What the window refnum looks like. |
| set_switch_channels_between_windows | Whether to allow switch windows to steal another window's channels. |
| set_term_does_bright_blink | Whether the terminal does bright blink. |
| set_user_information | Text returned by the supplied CTCP USERINFO responder. |
| set_verbose_ctcp | Script-provided setting. Whether to tell you if someone ctcps you. |
| set_word_break | What characters constitute breaks between words. |
| set_wserv_path | Where to find the wserv program. |
| set_wserv_type | Whether wserv should create gnu screens or xterms. |
| set_xterm | Which program you use as xterm (ie, rxvt) |
| set_xterm_options | What options you needed passed to your xterm. |
| setenv | Change an environment variable. |
| shift_command | Remove the first word from a variable. |
| shook | Dispatch any arbitrary hook event. |
| sleep | Blocking sleep of the client. |
| stack | Save and restore copies of an alias, assign, on, set, etc |
| stub | On-demand loading for an alias or assign. |
| subpackage | Add a segment to the namespace for stuff you load. |
| switch | Select a command block by wildcard pattern. |
| silence | Server-side ignores (not on all servers) |
| timer | Run a command later. |
| type | Pretend the user just typed a string. |
| unclear | Pull down the scrollback so it fills the screen. |
| unless | Reverse of if. |
| unload | Remove alias, assigns, ons, sets, etc from a package. |
| unshift_command | Add a word to the start of a variable. |
| until | Reverse of while. |
| usleep | Blocking sleep of the client, less than a second. |
| wait | Nonblocking suspending of execution until previous server request finished. |
| which | Find the full path of a loaded file. |
| while | Execute a block while some expression is true. |
| window | Manipulate the EPIC on-screen display areas known as "windows". |
| window add | Add a nickname to your query list. |
| window back | Go back to the previous current window, swapping it in if necessary. |
| window balance | Make all the windows the same size. |
| window beep_always | Beep even if the window is hidden. |
| window channel | Change the current channel. |
| window clear | Scroll down so nothing shows in the window. |
| window create | Create a new screen. |
| window delete | Remove a screen you don't want any more. |
| window describe | Let me tell you about your window. |
| window discon | Disassociate the window from its server. |
| window double | Turn on the double status bar. |
| window echo | Output something to the window. |
| window fixed | Forbid changing the window's size. |
| window flush | Delete the scrollback below what you see. |
| window flush_scrollback | Delete the entire scrollback. |
| window goto | Switch to the window, counting from the top of screen |
| window grow | Increase the size of the window. |
| window hide | Remove a window from the screen. |
| window hide_others | Make this window the only one on the screen. |
| window hold_interval | How often the status bar updates when holding stuff in this window. |
| window hold_mode | Stop displaying stuff to the window, but save it in the scrollback. |
| window hold_slider | How much to scroll down when you hit |
| window indent | Overrule set indent for this window. |
| window kill | Delete a window you don't want any more. |
| window kill_all_hidden | Delete all of the hidden (invisible) windows. |
| window kill_others | Make this the only window left for the whole client. |
| window killable | Control whether the window may be killed. |
| window killswap | Kill this window, and swap in an invisible window in its place. |
| window last | Go back to the previous current window, but not if it's hidden. |
| window lastlog | How many logical lines of output to save. |
| window lastlog_level | What levels of output should be saved to the lastlog. |
| window level | What levels of output should be sent to this window. |
| window list | Describe all the windows. |
| window log | Turn on or off the window's log file. |
| window logfile | Change the window's log filename. |
| window move | Move the window up or down on the screen. |
| window move_to | Move the window to the Nth place, counting from the top of the screen. |
| window name | Change the window's name. |
| window new | Create a new window, splitting a visible window in half. |
| window new_hide | Create a new hidden window. |
| window next | Swap the current window with the hidden window with the next higher refnum. |
| window noserv | Disassociate the window from the server. |
| window notified | Toggle whether the window is notifying that it has output since it's been hidden. |
| window notify | Toggle whether the window should notify you when it has output while it's hidden. |
| window notify_level | Toggle what types of output cause the window to notify you while it's hidden. |
| window notify_name | What the window's name looks like on the status bar when it's notifying you. |
| window number | Change the window's refnum. |
| window pop | Go back to the window you last window pushed. |
| window previous | Swap the current window with the hidden window with the next lower refnum. |
| window push | Save the current window's refnum onto a stack. |
| window query | Change the window's current query target. |
| window rebuild_scrollback | Throw away the scrollback buffer, and rebuild it from the lastlog. |
| window refnum | Change the current window to another visible window. |
| window refnum_or_swap | Change the current window to another visible window, swapping it in if necessary. |
| window refresh | Redraw the window. |
| window rejoin | Join a channel on a window's server, putting it in whichever window claims it. |
| window remove | Remove a nick from the window's query list. |
| window scrolladj | Whether to insert space at the bottom, or pull scrollback back down from the top when a window grows in size. |
| window scrollback | How big the window's scrollback buffer should be. |
| window scroll_backward | Go back some number of lines in scrollback. |
| window scroll_end | Go to the end (newest) of the scrollback. |
| window scroll_forward | Go forward some number of lines in scrollback. |
| window scroll_start | Go to the start (oldest) of the scrollback. |
| window search_back | Go backwards in scrollback to find a string. |
| window search_forward | Go forwards in scrollback to find a string. |
| window server | Change which server this window is associated with. |
| window show | Make a hidden window visible (by splitting a visible window) |
| window show_all | Make all hidden windows visible (by splitting visible windows) |
| window shrink | Make a window smaller |
| window size | Set the window size to an absolute value. |
| window skip | Can bind next_window move to this window? |
| window stack | Show the refnums saved on the stack. |
| window status_format | The status line for a single line status bar. |
| window status_format1 | The bottom line of a double line status bar. |
| window status_format2 | The top line of a double line status bar. |
| window status_special | What %. should be on this window's status bar. |
| window swap | Make this window invisible, and make a hidden window visible, taking its place. |
| window swappable | Change you change the visibility of this window? (Ie, hide a visible window) |
| window topline | Set the text of a selected topline. |
| window toplines | Set how many toplines a window reserves. |
| window unclear | Push down the scrollback so it's visible in the window. |
| xdebug | Change some internal debugging flags. |
| xecho | Output to a window, with flags |
| xeval | Run some commands, with flags. |
| xquote | Send a string to the server, with flags. |
| xtype | Type some text, with flags. |
Functions
| Reference | Description |
|---|---|
| abs | Absolute Value of number |
| acos | Arc Cosine of number |
| acosh | Inverse Hyperbolic Cosine of number |
| after | Return string after a character |
| afterw | Return words in list after a word. |
| aliasctl | Low level manipulation on aliases and assigns. |
| ascii | Convert strings to codepoints (numbers). |
| asciiq | Convert url-encoded strings to codepoints. |
| asin | Arc Sine of number |
| asinh | Inverse Hyperbolic Sine of number |
| atan | Arctangent of number |
| atanh | Inverse Hyperbolic Sine of number. |
| b64decode | Script-provided function. Convert Base64 into a string. |
| b64encode | Script-provided function. Covnert a string into Base64. |
| before | Return string before a character. |
| beforew | Return words in list before a word. |
| bindctl | Low level manipulation of keybindings. |
| builtin_expando | Call a builtin-expando directly. |
| ceil | Ceiling of number |
| center | Pad a string with spaces to center it. |
| cexist | Does a command exist? |
| chanmode | What is the mode of a channel? |
| channel | Summarize users on channel (op, voice, nick) |
| chanusers | Who is on a channel? |
| chanwin | What window is this channel in? |
| chmod | Change a file's permissions. |
| chngw | Change a word in a word list. |
| chop | Remove chars from end of string. |
| chops | Who is a chanop on a channel? |
| chr | Convert codepoints (numbers) into strings. |
| chrq | Convert codepoints (numbers) into url-encoded strings. |
| cipher | What cipher is the (ssl) server connection using? |
| close | Close an open file. |
| cofilter | Return words from 2nd variable, based on which words in 1st variable aren't matched by a pattern. |
| common | Return words common to two word lists. |
| convert | Convert a hostname to paddr, or paddr to hostname. |
| copattern | Return words from 2nd variable, based on which words in 1st variable are matched by a pattern. |
| corfilter | Return words from 2nd variable, based on which patterns in 1st variable don't match a string. |
| corpattern | Return words from 2nd variable, based on which patterns in 1st variable match a string. |
| cos | Cosine of number. |
| cosh | Hyperbolic Cosine of number. |
| count | Count the number of instances of character in string. |
| cparse | Convert markup codes into color codes. |
| curcmd | The current ircII command or alias that is running. |
| curpos | Where the cursor is in $L (the input line) |
| currchans | All current channels for the server. |
| dbmctl | External hash table support. |
| decode | Script-provided function. Recover a string passed to encode. |
| delarray | Delete an entire Karll array. |
| delitem | Remove an item from a Karll array by item number. |
| delitems | Remove items from a Karll array by item numbers. |
| deuhc | Remove the wildcard part of a nick!user@host string. |
| diff | Return the words that exist only in one of two word lists. |
| encode | Script-provided function. Convert any string into something you can use in a variable name. |
| eof | Is the open file at end-of-file? |
| epic | Returns 1, because you're using epic! |
| exec | Run a unix command in a subshell, returning three open fds. |
| exp | Exponent operation (x ** y) |
| ferror | Does the open file have an error condition? |
| fexist | Does a filename exist? |
| filter | Return all words that don't match a pattern. |
| finditem | The item number of any instance of an item in a Karll array. |
| finditems | The item number of all instances of an item in a Karll array. |
| findw | Return the first word index of a word in a list. |
| findws | Return all of the word indexes of a word in a list. |
| fix_arglist | Convert a string into something you can use as an arglist to an alias or on. |
| floor | Largest integral number less than or equal to number. |
| fnexist | Does a built in function exist? |
| frewind | Reset an open file back to the beginning. |
| fromw | Return a words in a list starting with a word. |
| fseek | Change the read/write position of an open file. |
| fsize | How many bytes big is a file? |
| fskip | Skip lines in an open file. |
| ftell | Where in an open file am I? |
| ftime | When was a file last modified? (mtime) |
| ftruncate | Delete the contents of a file, but not the file itself. |
| functioncall | Is this alias being called as a function or as a command? |
| geom | What is the size of the screen? |
| getarrays | Get the name of all active Karll arrays. |
| getcap | Low-level capability information. |
| getcommands | Pattern match command names. |
| getenv | Get an environment variable. |
| getfunctions | Pattern match function names. |
| getgid | What is my primary user group? (GID) |
| getitem | Get an item number from a Karll array. |
| getlogin | What username am I running under? |
| getmatches | A word list of all item numbers that match in a Karll array of strings. |
| getopt | Process command line arguments. |
| getpgrp | What process group am I in? |
| getrmatches | A word list of all item numbers that match in a Karll array of patterns. |
| getserial | Get a serial number that isn't in use. |
| getset | Get the value of a set. |
| getsets | Pattern match set names. |
| gettmatch | Return the best item match from a Karll array. |
| getuid | What is my user id? (UID) |
| glob | Pattern match filenames. |
| hash_32bit | Convert a string to a 32 bit integer. |
| hookctl | Low-level manipulation of your ons. |
| idle | How many seconds since a key was last pressed? (Same as $E) |
| ifindfirst | Return the first item number of an item in a Karll array. |
| ifinditem | The index number of the first instance of an item in a Karll array. |
| ifinditems | The index number of all instances of an item in a Karll array. |
| igetitem | Get an index number from a Karll array. |
| igetmatches | A word list of all index numbers that match in a Karll array of strings. |
| igetrmatches | A word list of all index numbers that match in a Karll array of patterns. |
| index | Return the position of a char in a string. |
| indextoitem | Convert a Karll array index number to an item number. |
| indextoword | What word in list contains the 'index'th character? |
| info | Return structured information about the client. |
| insert | Insert a word into a string at the "index"th character. |
| insertw | Insert a word into a list. |
| iptolong | Convert a p-addr to a 32 bit long integer (for dcc). |
| iptoname | Resolve the canonical hostname of a p-addr. |
| irclib | Where is the standard irc library directory? |
| isalpha | Does this string start with an a-z A-Z character? |
| isaway | Am I away on a server? |
| ischannel | Is this a valid channel name on a server? |
| ischanop | Is this person a chanop (+o) on a channel? |
| ischanvoice | Is this person a channel voice (+v) on a channel? |
| isconnected | Am I registered to this server? |
| iscurchan | Is this channel a current channel on this server? |
| isdigit | Does this string start with a digit? |
| isdisplaying | Is output being suppressed (ie, with ^)? |
| isencrypted | Am I connected to this server using ssl? |
| isfilevalid | Can I use this fd in file manipulation functions? |
| ishalfop | Is this person a channel half-op (+h) on a channel? |
| isnumber | Is this string a number that is valid in this base? |
| itemtoindex | Convert a Karll array item number to an index number. |
| jn | Bessel function of the first kind of the order N. Um, yea. |
| joinstr | Create a word list by joining words in each of 2 variables. |
| jot | Create a list of numbers, suitable for iterating over. |
| json_error | Return error string set by the last call to json_explode. |
| json_explode | Parse a JSON string and expand it into an assign variable structure. |
| json_implode | Serialise an assign variable structure into a JSON string. |
| key | What is the channel key of a channel? |
| killpid | Kill a unix process. |
| lastlog | Search the lastlog and return matching lines as values I can pass to line. |
| left | Return the first N characters of a string. |
| leftpc | Return the longest initial part of the string that contains N printable characters. |
| leftw | Return the first N words of a word list. |
| levelctl | Low-level manipulation of window/lastlog/flood/ignore levels. |
| levelwindow | Which window owns this level? |
| line | Return a line from the lastlog. |
| listarray | Describe the contents of a Karll array. |
| loadinfo | What file is loading right now? |
| log | Natural logarithm of a number. |
| log10 | Base-10 logarithm of a number. |
| logctl | Low-level manipulation of logfiles. |
| longtoip | Convert a 32 bit integer (from DCC) into a p-addr. |
| mask | Normalize a string into a nick!user@host pattern for banning. |
| match | Return the string that is best matched by a pattern. |
| matchitem | The item number of the best string match in a Karll array. |
| maxlen | Return the strlen of the longest word in list. |
| metric_time | Return the current time in (days, millidays) |
| mid | Return a substring of a string. |
| midw | Return a subset of the words in a list. |
| mkdir | Make a directory. |
| mktime | Convert (Year,month.day.hour.minute.second) to a time. |
| msar | Multiple Search And Replace on a string. |
| mychannels | What channels am I on this server? |
| myservers | What severs am I connected to? |
| nametoip | Convert a hostname to its canonical p-addr (ip address) |
| nochops | Who is not a channel operator? |
| nohighlight | Convert highlight characters to reverse chars, the way it's done on the input prompt. |
| notifywindows | Which hidden windows are notifying they have output? |
| notw | Remove a word from a list. |
| numarrays | How many Karll arrays are active? |
| numitems | The number of items in a Karll array. |
| numlines | How many lines on the display would this string take up if you echod it? |
| numonchannel | How many people are on the channel> |
| numsort | Sort a string, honoring numerical order. |
| numwords | How many words are in this word list? |
| onchannel | Is this person on the channel? |
| open | Open a file for reading or writing. |
| outputinfo | What is the current output target and output level? |
| pad | Add chars to a string to make it a certain length. |
| pass | Remove all but certain characters from a string. |
| pattern | Return all words from list that are matched by pattern. |
| pid | What is the process id? |
| pop | Remove the last word from a variable. |
| ppid | What is my parent's process id? |
| prefix | What is the common leading substring on all of the words in a list? |
| printlen | How many columns on the screen does this string take up? |
| push | Add a word to the end of a variable. |
| querywin | Which window claims this nick as a query? |
| qword | Get a word from a list as a qword (so it can be used as a dword) |
| rand | Get a random number. |
| randread | Read a random line from a file. |
| read | Read a line from an open file. |
| realpath | What is the canonical pathname for this file? |
| regcomp | Compile a regular expression. |
| regcomp_cs | Compile a regular expression, case insensitively. |
| regerror | Did this regular expression fail? |
| regexec | Match a compiled regular expression against a string. |
| regfree | Release a compiled regular expression. |
| regmatches | Match a compiled regular expression against a string, returning all backreferences. |
| remw | Remove a certain word from a word list. |
| remws | Remove several certain words from a word list. |
| rename | Rename a file. |
| repeat | Repeat a string several times. |
| rest | Return a string starting with a certain character position. |
| restw | Return a word list starting with a certain word. |
| reverse | Reverse the order of characters in a string. |
| revw | Reverse the order of words in a string. |
| rfilter | Return all of the patterns from a list that don't match a string. |
| right | Return the last few characters in a string. |
| rightw | Return the last few words in a word list. |
| rindex | Return the character position of the last instance of a char in a string. |
| rmatch | Return the best pattern from a list that matches a string. |
| rmatchitem | The item number of the best pattern in a Karll array. |
| rmdir | Remove a directory. |
| rpattern | Return all of the patterns from a list that matches a string. |
| rsubstr | Find the last instance of a substring in a larger string. |
| sar | Search And Replace a string in a larger string. |
| serverctl | Low-level manipulation of servers. |
| serverwin | What is the current window for a server? |
| servports | Return the remote and local portnum for a server connection. |
| setitem | Set an item in a Karll Array. |
| sha256 | Script-provided function. SHA256 message digest of a string (Strong crypto hashing). |
| shift | Remove the first word from a variable. |
| shiftbrace | Remove and return the {...} at the start of a variable. |
| sin | Sine of number. |
| sinh | Hyperbolic Sine of number. |
| sort | Sort a word list case insensitively. |
| splice | Remove some words, and insert new words, into a word list. |
| split | Convert characters to spaces in a string. |
| ssl | Was this client compiled with ssl support? |
| startupfile | What file did the client load at startup? |
| stat | Return info about a file. |
| status | Get the status bar. |
| stime | Human readable form of the time. |
| strftime | Format the current time any way you want. |
| strptime | Convert a string into a unix timestamp. |
| strip | Remove characters from a string. |
| stripansi | Convert codepoints 14-33 except 15 and 22 in a string to "safe" codepoints. |
| stripansicodes | The same as $stripcrap(NORMALIZE $*) |
| stripc | The same as $stripcrap(COLOR $*) |
| stripcrap | Mangle a string. |
| strlen | The number of characters in a string. |
| strtol | Convert a baseN number to base10, 2 <= N <= 36. |
| substr | Find a substring in a larger string. |
| symbolctl | Low level manipulation of aliases, assigns, builtin commands, builtin functions, builtin expandos, and builtin variables (sets). |
| tan | Tangent of number. |
| tanh | Hyperbolic Tangent. |
| tdiff | Number converted to hours-minutes-seconds (long form) |
| tdiff2 | Number converted to hours-minutes-seconds (short form) |
| time | What is the current time, in whole seconds? |
| timerctl | Low-level manipulation of timers. |
| tobase | Convert a base10 number to another base. |
| tolower | Convert a string to lowercase. |
| toupper | Convert a string to uppercase. |
| tow | Return a word list up to and including a word. |
| tr | Change characters in a string. |
| trunc | Round a floating point numbers to a certain number of decimal places. |
| ttyname | What tty am I using? |
| twiddle | Expand a pathnames that contains a ~ for homedirs. |
| umask | Change the default umask for newly created files. |
| uname | Tell me about the unix I'm using. |
| uniq | Remove duplicates from a word list. |
| unlink | Remove a file. |
| unshift | Add a string to the start of a string. |
| unsplit | Convert a dword list into a uword list using a seperator. |
| urldecode | Script-provided function. Convert a string from url format into normal. |
| urlencode | Script-provided function. Convert a string into url format. |
| userhost | What is the userhost of a nickname or current message? |
| usermode | What is my usermode? |
| usetitem | Set an item in a Karll array (faster) |
| utime | What is the current time, including usec? |
| version | What is the server version? |
| which | Path search for a file. |
| winchan | Translate between current channel and window refnum. |
| windowctl | Low-level manipulation of windows. |
| word | Get a word from a word list. |
| wordtoindex | Which index position does this word start at? |
| write | Write a line to an open file. |
| writeb | Write some binary data to an open file. |
| xdebug | Manipulate the xdebug flags. |
| xform | Transform a string from one form to another. |
| yn | Bessel function of the second kind for integer order n. |
Scripts
| Reference | Description |
|---|---|
| 2.8script | Join/leave compatibility aliases and a numeric 367 handler; the leave alias calls an unavailable command. |
| activity | An example of how to use generalized activity handling. |
| addset | Create and destroy your own sets. |
| altchan | Implement |
| autojoin | Automatically join channels when you (re-)connect to server. |
| autoquery | Automatically create a new querywin when someone msgs you. |
| builtins | Compatibility aliases, settings, and supporting scripts; some historical helpers depend on removed facilities. |
| chanmonitor | Displays output of non-current channels in hidden windows to a special visible window. |
| commandqueues | Time-delay processing queues. |
| country | Convert between country codes and country names. |
| data_array | This is a work in progress. |
| data_struct | This is a work in progress. |
| debug.irc | Aliases to help you debug/tune your script. |
| dump | Script-defined cleanup of aliases, variables, hooks, and related script state. |
| edit_topic | Edit the topic of the current channel. |
| files | Examples of what you can do with open files. |
| floodprot | Implement outbound flood protection. |
| functions | Utility commands and aliases, including historical helpers with removed dependencies. |
| global | Default startup setup used when no readable personal startup file is selected. |
| grep | An example of how to grep a file with open. |
| guh | A few aliases for userhost, ison, and channels. |
| highlight | Imlement something like the old "highlight ignores". |
| history | Script-provided command history and navigation. |
| hold_mode | Fully enable ircII-like hold mode behavior. |
| ison | Low-level interface to the ison queue. |
| less | Peruse a file page by page. |
| less-pipe | Peruse an exec process output page by page. |
| loadformats | A theming facility. |
| local.examp | An example of the local customization file. |
| Check multiple mboxes at once. | |
| map | A client-side implementation of the map command. |
| meta-compat | Backwards compatibility for scripts that bound META keybindings. |
| motd_script | A client side message-of-the-day script. |
| netsplit | Handle netsplits and netjoins without flooding your screen. |
| newaway | Only see other people's away messages once. |
| newnick | Automatically generate new nicknames when server requires you to change your nickname. |
| nickcomp | Automatic nickname completion for channel text. |
| nopaste | Prohibit accidental paste flooding. |
| notify | Nickname monitoring through the server’s MONITOR facility. |
| paste | Allow a special paste mode for paste flooding. |
| pipe | Implement the function pipe that returns the output from an exec command. |
| reconnect | Automatically reconnect to servers when disconnected. |
| renumber | Automatically renumber your window refnums so there are no gaps. |
| save | Save your settings to a file you can load later. |
| scan | Summarize the current channel. |
| screen | Switch between windows like gnu screen does. |
| slowcat | Dump a file to current target, very slowly. |
| snip | Remove substrings from the start or end of a string. |
| sping | Ping a server. |
| suppressmotd | Don't be bothered with the server's motd. |
tabkey.ce |
Crazyeddy's and Fudd's tabkey script. |
| tabkey.jm | Jm's tabkey script. |
| utime | Functions for manipulating utimes. |
Special Topics
| Reference | Description |
|---|---|
| about_epic | Information about the EPIC project and software. |
| arglist | How alias argument lists look and work. |
| arrays | How Karll arrays work. |
| atomic_scope | Atomic scope and local variables. |
| block | The basis of ircII syntax is the block. |
| command_line | What options can I pass at the command line? |
| commands_overview | What are all the commands? |
| compile_opts | How can I tell what options were set at compiled time? |
| copyright | What is the copyright and license for the client? |
| debugging | How do I debug my script? |
| default_keybindings | Information about what BIND -DEFAULT does |
| disambiguation | A template file we use for disambiguation pages. |
| environment_variables | What environment variables does EPIC honor? |
| etiquette | How should I behave on irc? |
| expando_substitution | How do $'s get expanded? |
| expandos | Even more about how $'s get expanded. |
| expressions | How math expressions work. |
| functions_overview | What are the built in functions? |
| glossary | This is a work in progress. |
| graphics_chars | How to use alternate character set to echo box chars |
| input_handling | How the client handles your keypresses. |
| introduction | A crash course on using irc. |
| ipv6 | Things you need to know about using ipv6. |
| ircii_syntax | How the ircII language works. |
| ircuser | Why can't I just set my username to anything I want? |
| karll_arrays | What karll arrays are and how they work. |
| key_bindings | How you can represent keybindings. |
| levels | All about window/lastlog/ignore/flood levels. |
| lval | About lvalues, things you can assign values to (variable names) |
| mangle_types | All about removing highlights in strings. |
| math_operators | All operators and their priority and associativity |
| memory_usage | What causes high memory usage and what you can do about it. |
| new_user | A crash course to the absolute beginner to irc. |
| output-help | How the client sends output to your emulator. |
| pass-through_command | Commands that are set to the server directly. |
| patterns | How wildcard pattern matching works. |
| pf_loader | All about using the pf (pre-formatted) loader. |
| programming | A crash course in ircII programming. |
| quoting_hell | What is quoting hell and how do I make it work for me? |
| random_numbers | How the client generates random numbers. |
| regex | How regular expressions work in EPIC. |
| referring_to_servers | How am I allowed to refer to servers? |
| removed_in_epic5 | Historical EPIC4-to-EPIC5 compatibility lists. |
| removed_in_epic6 | Removed interfaces and scripts with retired dependencies. |
| rules_about_number_arguments | How numbers passed to built-in functions are handled. |
| security | Thinking about security in your script. |
| serial_numbers | How serial numbers work for on hooks. |
| server_description | What constitutes a server description? |
| server_list | How to build your own server list file. |
| server_numerics | How the client handles server numerics. |
| server_state | All about the various server status states. |
| signals | Signals that the client handles and what they do. |
| space_character | What constitutes a space character? |
| special_vars | Info about $ expandos, and a list of the inline expandos. |
| standard_loader | All about using the std (standard) loader. |
| start | This comprehensive index. |
| status_line | All you need to know about the status bar. |
| text_hilight | Bold, and Underline, and Color, and Reverse, oh my! |
| using_symbolctl | Create your own sets, command completion, other neat stuff |
| welcome | Welcome to EPIC! |
| what_is_a_word | When something is a "word", what does that mean? |
| window_activity_handling | How hidden windows decide when to tell you they have output. |
| window_targets | What is a "target" and how do windows use them? |
Disambiguation
| Reference | Description |
|---|---|
| alias | Alias definitions and symbol-table operations. |
| away | Away messages and stored away-state values. |
| channel | Channel commands, membership queries, and window associations. |
| connect | IRC server-link requests and the former direct-socket function. |
| exec | Launching external programs and accessing their streams. |
| fe | Iteration and rewriting of word lists. |
| info | IRC server information requests and local client build information. |
| lastlog | Recalling stored output and querying its records. |
| list | IRC channel listings. |
| local | Local variable declarations and scope. |
| log | Selective logging, logarithms, and other logging controls. |
| map | Server mapping through the server command or a client-side script. |
| motd | IRC server MOTD requests and the local file-display script. |
| notify | Script-provided nickname monitoring through the server’s MONITOR facility. |
| pipe | Script-provided function for collecting an external command’s output. |
| pop | Remove the last word from a variable. |
| prefix | Find a common word prefix or complete partial input. |
| push | Append data to a variable. |
| reconnect | Retry a server connection or configure script-based reconnection. |
| repeat | Repeat commands or construct repeated text. |
| shift | Remove the first word from a variable. |
| stat | Query local filesystem metadata. |
| time | Server time requests and local timestamp values. |
| unshift | Prepend data to a variable. |
| userhost | Request userhosts from the server or read cached userhost values. |
| utime | Microsecond timestamp values and script helpers. |
| version | Server-version requests and system-version information. |
| which | Display a script file or locate a file in a search path. |
| window | Window commands, events, and programmatic controls. |
| xdebug | Inspect or change debugging and parser flags. |
Source references
source/commands.c:irc_commandregistration.source/functions.c:built_in_functionsregistration and disabled raw-connection stubs.source/vars.c:init_variables_stage1()registration, rather than retained identifiers alone.source/hook.c:hook_function_templates.source/keys.c:init_binds()and the special NOTHING selector.source/window.c:windowcmd_options.script: retained files and explicit alias/addset definitions; generated definitions and dependencies require the individual script reference.- KNOWNBUGS and UPDATES: retired facilities and interface changes.