User Tools

Site Tools



EPIC functions are very similar to those of common procedural languages - they have arguments and they return a value. There are many different kinds of functions - ones that manipulate strings, ones that retrieve information from the client, ones that perform math operations et cetera.

This page groups all functions present in the EPIC client based on their domain. For a more general guide to programming EPIC, see the programming in EPIC guide.

Extracting substrings from strings

after get the part after a certain character
before get the part before a certain characters
chop remove final character(s)
left get the first few characters
leftpc get the first few characters, but only count printable characters
mid get characters from the middle
rest remove leading character(s)
right get the final few characters

String operations

ascii convert a string into a word list of ascii numbers
b64decode recover string encoded in base64
b64encode convert string into base64
center center a string in given width
chr convert a word list of ascii numbers into a string
count count how many times a substring appears in a string
cparse add colors without using ^C
decode recover string encoded in encode
deuhc remove leading '*!' or '*!*@' from a string
encode make a string suitable for being used as a variable name
getopt parse a command line for an alias requiring command-line switches
index locate a character in a string
insert inject a substring into a string
isalpha is the character a letter?
isdigit is the character a digit?
isnumber is the string a number?
msar replace multiple patterns in a string
nohighlight strip control-codes from a string
numlines calculate how many lines a string would occupy on the screen
pad fill a string with a character until it reaches certain length
pass leave only specified characters in a string
printlen length of a string without formatting characters
repeat repeat a string a number of times
reverse print a string backwards
rindex locate a character in a string starting from the right
rsubstr search for a substring beginning from the end of a string
sar replace a pattern in a string
shiftbrace remove the braced expression from the beginning of a string
split split a string into multiple words
stripansicodes strip ANSI codes (DUH!)
stripansi convert non-printable characters to printable ones
stripcrap remove various types of unwanted characters
stripc strip ^C's from a string
strip strip given characters from a string
strlen length of a string
strtol convert a number to given base
substr search for a substring in a string
tolower convert a string to lowercase
toupper convert a string to uppercase
tr transpose characters
uhc finish an incomplete nick!user@host pattern
urldecode de-mangle $urlencode()d text
urlencode mangle a string to the form usual of URLs

Word operations

afterw words after a matching pattern
beforew words before a matching pattern
chngw change a word
common logical AND on words in two lists
diff logical XOR on words in two lists
findw find word's index in a word list
fromw rest of a word list beginning with some word
indextoword word basing on string index
insertw insert a word at given index
leftw amount of words starting at the beginning
maxlen length of a longest word in a word list
midw extract a range of words in a word list
notw exclude a word index from a word list
numsort sort a word list using a numerical compare function
numwords show an amount of words in a word list
pop cut the last word off of a variable and return it
prefix common initial substring of given words
push append a word to a variable
remws remove words from a word list
remw remove a word from a word list
restw print the rest of a word list beginning at a word index
revw word list in reverse order
rightw amount of last words in a word list
shift trim the last word of a variable and return it
sort sort a word list
splice return a range of words from a word list
tow return words up to given word
uniq remove duplicates from a word list
unshift prepend a word to a variable
unsplit undo a $split()
wordtoindex return a word position of given index
word return a word from a word list based on its index

Math functions

abs absolute value of a number
acosh hyperbolic cosine of a number
acos arc cosine of a number
asinh inverse hyperbolic sine of a number
asin principal value in radians of the arc sine of a number
atanh inverse hyperbolic tangent of a number
atan principal value in radians of the arc tangent of a number
ceil smallest integer that is greater than or equal to a number
cosh hyperbolic cosine of a number
cos cosine of the angle of a number
exp value of e raised to a value of a number
floor largest integer that is less than or equal to a number
jn bessel function of the first kind
log10 base-10 logarithm of a number
log natural logarithm of a number
sinh hyperbolic sine of a number
sin sine of the angle of given number's radians
tanh hyperbolic tangent of a number
tan tangent of the angle of given number's radians
tobase convert a number to given base
yn linearly independant bessel function of the second kind

Time info

stime human readable form of unix time
strftime format date and time
tdiff how much time has elapsed?
tdiff2 shorter version of the above
time unix timestamp
utime unix timestamp with microseconds

Pattern matching

copattern words in a var2 corresponding to matched words in var1
filter remove words matching a pattern
globi case-insensitive filename globbing
glob filename globbing
mask bantype pattern for a mask
match match words with multiple patterns
pattern return words matched by a pattern
regex description of regexp functions
rfilter return patterns not matching a word
rmatch match a word against many patterns
rpattern patterns that match a word

Server operations

cipher retrieve the ssl cipher name from a SSL-enabled server
isaway check whether you're away
isconnected check whether a server is fully connected
isencrypted check whether a server is SSL-enabled
myservers list open server connections
notify toggle the notify feature for a server
serverctl generic interface to serverlist
serverwin current window for a server
servports local and remote ports for a server connection
usermode your umode on a server
version server's version class

Channel info

chanmode channel mode for given channel
channel list of users on channels with their chanmodes
chanusers synonym for $onchannel()
chops list of channel operators
ischannel is the string a valid channel name?
ischanop is the user a chanop?
ischanvoice is the user a voice?
iscurchan is the channel current in its window?
ishalfop is the user a halfop?
key fetch a key for a channel
mychannels channels you're on
nochops list of users without any chanmodes on a channel
numonchannel number of users on a channel
onchannel check whether a user is on a channel or print a list of all users on a channel
userhost retrieve user's host from inside an /on hook or from client's internal WHO cache

Display operations

chanwin return the window a channel belongs to or window's current channel
curpos position of the cursol on the input line
currchans current channels for refnums
geom return dimensions of the terminal
getcap return data from terminfo or termcap database
lastlog list of scrollback lines matching a pattern
levelwindow return a window having given level for a server
line retrieve the actual line from a scrollback buffer
notifywindows list of hidden windows with background activity
outputinfo return a level and target for given message
querywin active query in given window
status return a status bar for a window
winchan alias for $chanwin()
windowctl generic interface to window list
winquery return the window for given query

Array operations

delarray delete an array completely
delitem delete an item from an array
finditem find an item in an array
getarrays display names of all arrays
getitem retrieve an item from an array
getmatches return items in an array matching a pattern
gettmatch returns an array item best matching the pattern
igetmatches retrieve all items of an array matching given pattern
indextoitem sorted array index basing on array index
itemtoindex array index basing on a sorted array index
matchitem match all array against a pattern
numarrays total number of created arrays
numitems number of items in given array
rmatchitem match an array item against multiple patterns
setitem add or modify an item in an array

File I/O

close close a file descriptor
eof check whether if we're at the end of a file
fsize return the size of a file
ftime return the time when a file was last modified
open open a file for reading or writing
read read a line or an arbitrary amount of data from a file
writeb write an amount of bytes into a file
write write a line to a file

Client operations

aliasctl generic interface to aliases
bindctl generic interface to keybindings
builtin_expando return a value of a builtin expando
cexist check whether a builtin command exists
dccctl generic interface to DCC
epic check whether the client is a Genuine EPIC ™
fnexist check whether a builtin function exists
getcommands get a list of all commands
getfunctions get a list of all functions
getsets get a list of all /sets
getset get a value of a /set
hookctl generic interface to hooks
idle returns how long ago you pressed a key
ignorectl generic interface to ignores
info information about how the client was compiled
irclib returns a path to the irc library the client is using
isdisplaying checks whether /echo will actually output a string
logctl generic interface to logs
ssl check whether the client was compiled with SSL support
timerctl generic interface to timers

Network operations

connect open a TCP connection to a remote host
convert convert a hostname to an IP address and vice versa
iptolong convert an IP address to a long
iptoname convert an IP address to its reverse DNS
listen listen on a local port
longtoip convert a long to an IP
nametoip convert a hostname to an IP address

System operations

chmod change file's permissions
crypt hash a password
exec spawn a new process and read its output
fexist check whether a file exists
getenv return an environment variable of EPIC's process
getgid return EPIC's group ID
getlogin return the username of a user running EPIC
getpgrp return the process group ID of EPIC
getuid return the uid of a user running EPIC
killpid kill a process ID
mkdir create a new directory
pid return EPIC's pid
ppid return EPIC's parent process' PID
realpath return a real path (with relative paths, '..' and symlinks resolved) of given file
rename rename a file
rmdir remove a directory
srand seed the random number generator
stat get information about a file
ttyname get the terminal device currently used by EPIC
twiddle return a home directory for a user
umask set the umask
uname return various informations from system's uname
unlink remove a file

External scripting languages


functioncall check whether your alias is running as a command or as a function
hash_32bit hash a string into a 32bit integer
jot return an integer range
loadinfo return information from inside a /loading script
metric_time current time in the metric system
pipe execute a function and read its output
randread return a random line from a file
rand return a random integer
sedcrypt encrypt a string using SED
sha256 hash a string using SHA256
startupfile name of the file loaded as a startup script
trunc truncate a floating-point number to given degree of decimal precision
which full path to a script located in LOAD_PATH
xdebug debugging function


functions_overview.txt · Last modified: 2008/10/22 14:40 (external edit)