EPIC Enhanced Programmable IRC-II Client

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

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 - window switching like bx.
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.
mail 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