Initial import of the ircii-pana-1.1-final source tree.

git-svn-id: svn://svn.code.sf.net/p/bitchx/code/tags/ircii-pana-1.1-final@1 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
Kevin Easton
2008-02-25 09:25:32 +00:00
commit 28febcfea9
1429 changed files with 250653 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
Synopsis:
load 2.8script
Description:
This is one of the default script loaded when the client is started; it
is loaded from GLOBAL. It redefines the returned messages from STATS
queries and in channel ban lists. It contains several aliases; those
whose names are the same as builtin commands are intended to enhance
them.
Alias Description 
/cinfo reports who compiled client -> $info(c)
/invite channel name optional
/join channel prefix optional, no args follows last invite
/leave channel prefix optional, no args leaves current
/mode3 unlimited number of arguments to single mode
/topic channel name optional, channel prefix optional
Examples:
To join channels #foo, #bar, and &blah:
/join foo,bar,&blah
To give channel mode +o to your 5 best friends in #blah:
/mode3 #blah +ooo joebob jimbob junebug orville wilbur
To set the topic on the curent channel:
/topic Welcome to our channel!
See Also:
global(8); info(6); invite(1); join(1); leave(1); load(5); mode(1);
stats(2); topic(1)
Bugs:
The /mode3 alias requires that the mode to be set contain a triple mode,
if 3 or more people are to receive the mode. For instance, the script
would partially fail if '+o' were used in the above example.
Authors:
Numerous people have contributed to this script over the years. The most
recent enhancements are from Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,8 @@
Section 8: Script Library 
This section is a dream come true for the scripter. As a convenience to
the user, EPIC includes a large library of small, yet useful, scripts.
Each and every one of them is documented here. This is the perfect
beginning resource for the aspiring scripter; both for insight and for new
ideas.

View File

@@ -0,0 +1,30 @@
Synopsis:
load action
Description:
This script contains a large set of prepackaged action aliases. They
are mostly for channel amusement, like any use of action. A variable
$gender may be set to M (male) of F (female) to customize possessive
actions. Unless otherwise indicated, actions are sent to the current
channel.
These actions maytake arguemtns, but do not require them:
applaud bounce chuckle clap dance giggle grin groan laugh moan
nod purr scratch shake shrug sigh sing smile wave wink yawn
These actions are not meant to receive arguments:
bow burp cough cry gasp scream shiver snap sneeze snore whistle
wiggle
These actions should be passed a nickname (or "you") as arguments:
comfort cuddle hug kiss love pat poke slap spit thank
These actions send a message to the given nickname:
ping pong
See Also:
describe(1); load(5); me(1)
Other Notes:
This script was written primarily by Carl von Loesch (lynx).

View File

@@ -0,0 +1,41 @@
Synopsis:
load alias
Description:
This script is a collection of simple, useful aliases. Some require
arguments to work, others don't. Most are shortcuts to frequently-used
commands.
Alias Description 
/" same as QUOTE
/alarm <x> sets an alarm for the given time
/chops list channel operators on current channel
/clock <x> turn clock on or off
/h+ turn master HOLD_MODE on
/h- turn master HOLD_MODE off
/ia invite last MSG recipient to current channel
/la same as LASTLOG
/lf <x> sets new log file
/ma <x> send MSG to most recent MSG recipient
/mr <x> send MSG to most recent MSG sender
/nf same as NOTIFY
/no same as NOTICE
/oops <x> resend a misdirected message to the correct person
/protect set current channel mode to +in
/shields_up ignores MSGs and NOTICEs from last sender of a MSG
/talkto <x> start query in new window
/unalias <x> removes an alias
/unprotect set current channel mode to -in
/unset <x> unsets a SET Variable
/wjoin <x> join channel in new window
/wquery <x> same as /talkto
See Also:
basical(8); bigcheese(8); ircprimer(8); lastlog(1); load(5); mode(1);
msg(1); notice(1); notify(1); query(1); quote(5); set(4) hold_mode,
logfile
Other Notes:
Most of this script was written by Carl von Loesch (lynx). The author
notes that portions were taken from various alt.irc postings.

View File

@@ -0,0 +1,21 @@
Synopsis:
load autokick
Description:
This script loads a trio of aliases for maintaining a simple list of
people to automatically kick and ban from the current channel upon
joining it.
Alias Description 
/autokick <x> add user to auto-kick list
/kicknban <x> kick and ban user from current channel
/unkick <x> remove user from auto-kick list
The script also loads the GUH script to do part of the work.
See Also:
guh(8); kick(1); load(5); mode(1)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,26 @@
Synopsis:
load autoop
Description:
This script allows the client to automatically grant a user channel mode
+o upon joining the channel, assuming the client has +o itself. To help
keep mode changes to a minimum, the script will wait 10-20 seconds
before setting the mode. Aliases are provided for adding and removing
users and channels to watch for.
Alias Description 
/addchan <x> add channel to autoop list
/addop <x> add user to autoop list
/delchan <x> remove channel from autoop list
/delop <x> remove user from autoop list
/showchan <x> show channels that autoop watches
/showop <x> show users that will receive the autoop
See Also:
load(5); mode(1)
Other Notes:
This script was originally written by Ian Frechette (Daemon), with
modifications by Jeremy Nelson (hop), jnelson@acronet.net, to optimize it
for ircII-EPIC.

View File

@@ -0,0 +1,20 @@
Synopsis:
load away
Description:
This script is a replacement of sorts for the standard AWAY command. It
works just like the builtin command, externally, but it doesn't actually
interact with the server. Instead, wwhen the client is marked away, it
sends the specified away message to any client sending it a message, via
CTCP. It is smart enough to only send the away message once per person.
See Also:
away(1); ctcp(1); load(5)
Restrictions:
Due to protocol restrictions (and the client's enforcement of them), the
away message is only sent in response to a MSG, not a NOTICE.
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,40 @@
Synopsis:
load basical
Description:
This script is a collection of simple, though oft-used, aliases. It is
usually loaded automatically when the client starts.
Alias Description 
/a same as AWAY
/c same as CHANNEL
/ch same as CHANNEL
/chop <x> give user channel mode +o in current channel
/dmsg <x> send a MSG acroiss an existing DCC chat connection
/dquery <x> start a query with an existing DCC chat connection
/e same as EXIT
/h same as HELP
/i same as INVITE
/j same as JOIN
/k same as KICK, for current channel
/l same as LIST
/log same as SET LOG
/m same as MSG
/mo same as MODE
/n same as NAMES
/s same as SIGNOFF
/show sends output of an EXEC command to the current target
/t same as TOPIC
/umode sets user modes
/unchop opposite of /chop
/w same as WHOIS
/wdetected do WHOIS for the last nickname detected by NOTIFY
See Also:
alias(8); away(1); bigcheese(8); dcc(1); exec(5); help(1); invite(1);
ircprimer(8); join(1); kick(1); list(2); load(5); msg(1); mode(1);
names(2); notify(1); set(4) log; signoff(1); topic(1); whois(2)
Other Notes:
This script was written by Carl von Loesch (lynx) and Troy Rollo (troy).

View File

@@ -0,0 +1,38 @@
Synopsis:
load bigcheese
Description:
This script is one of several good sample .ircrc files included with the
client. This one creates a number of commonly-used aliases, sets various
key bindings and hooks, and customizes many of the client's internal SET
variables.
Alias Description 
/cl same as CLEAR
/clock enable or disable the status bar clock
/finger EXEC a finger process
/list same as LIST, for all public channels
/m same as MSG
/mode same as MODE, for current channel
/names same as NAMES, for all public channels
/oops <x> resend a misdirected MSG
/re send a MSG to the last sender of a MSG
/reply start a query in a new window with last MSG sender
/swap same as WINDOW SWAP LAST
/talkto <x> start a query in a new window
/this <x> set window level to crap while running a command
/unalias <x> remove an alias
/unset undefine a SET variable
/wchannel <x> join a new channel in the current window
/wjoin <x> join a new channel in a new window
This script also loads the SHELL, NICKS, and TABKEY scripts.
See Also:
alias(8); basical(8); clear(4); exec(5); ircprimer(8); list(2); load(5);
msg(1); mode(1); names(2); nicks(8); query(1); set(4) clock;
shell(8); tabkey(8); window(4) last, level, new, swap
Other Notes:
This script was written by Mike Sandrof (BigCheese).

47
bitchx-docs/8_Scripts/brc Normal file
View File

@@ -0,0 +1,47 @@
Synopsis:
load brc
Description:
This script will give the client the look and feel of the BITNET Relay
Chat program (BiRC). While it makes every attempt to mimic BiRC, some
BiRC features simply have no equivalent on irc (the appropriate error
message willl be returned).
Alias Description
/c same as CHANNEL (JOIN)
/contact same as ADMIN
/getop do a WALLOPS for help (depricated)
/h view this document
/i <x> invite last MSG sender to specified channel
/ign <X> ignore specified user with level ALL
/irchelp same as HELP
/lcl same as WHO with -s switch
/m same as MSG
/na same as NAMES with -pub switch
/ni same as NICK
/rates same as STATS, type l
/st same as /r
/sw same as NAMES
/t same as TOPIC
/unignore ignore specified user with level NONE
/users same as LUSERS
/w same as WHO
/whoi same as WHOIS
The following BiRC commands are unavailable, either because they are not
necessary, or because they have no meaning on irc: OPN, REGISTER, RULES,
SE, SIGNON, SINCE, and TL. Other BiRC commands have identical
equivalents in the client, and thus are undocumented here.
See Also:
admin(2); fnet(8); help(1); join(1); load(5); lusers(2); msg(1);
names(2); nick(1); stats(2); topic(1); wallops(2); who(2); whois(2)
Restrictions:
The /getop alias probably won't work, since normal users are not allowed
to use WALLOPS anymore.
Other Notes:
This script was written by Ruben R. Olsen (Gnarfer), rubenro@viggo.blh.no.
Current version is 1.00, patchlevel 9.

View File

@@ -0,0 +1,14 @@
Synopsis:
load channel
Description:
This script redefines the CHANNEL command to make it behave as though
the NOVICE setting was turned on. It will leave the current channel
before joining a new one. It does not affect the JOIN command.
See Also:
join(1); load(5); set(4) novice
Other Notes:
The name of the author of this script is not known.

View File

@@ -0,0 +1,17 @@
Synopsis:
load columns
Description:
This script reformats private and channel messages (sent and received)
such that they are given a columnar appearance. All messages are
formatted to the 11th column in the display.
This script was used to demonstrate the $[]var notation. It includes
the $format() function.
See Also:
Special_Vars(7); load(5) functions
Other Notes:
This script was written by Mike Sandrof (BigCheese).

View File

@@ -0,0 +1,51 @@
Synopsis:
load commander
Description:
This script sets a number of meta-key bindings. Each key is bound to
some commonly-used function. All of the keys shown are prefixed with
the ESC key.
Key Description 
a prompts for away message, none will remove away status
c same as NAMES, for current channel
d runs /countrywho alias (depricated)
e prompts for command to EXEC
f joins channel last invited to
g queries last user seen by NOTIFY; clears $STATUS_USER
h runs /localwho (loaded from default LOCAL script)
i invites last MSG recipient to current channel
j same as WHOIS, for last person to join current channel
k leaves current channel and kills its window
l same as LIST (3 user minimum, public, topic set)
m queries last MSG sender; clears $STATUS_USER
n same as NAMES (2 user minimum, public)
o same as WHO with -o switch
p makes current channel private
q same as QUERY; clears $STATUS_USER
r queries last MSG recipient; clears $STATUS_USER
s bound to SWITCH_CHANNELS function
t prompts for new channel topic, none will display current
u same as LUSERS
w same as WHO for current channel (if any)
x same as WHOIS for last MSG recipient
y toggles SCROLL setting
z toggles HOLD_MODE setting
, same as FLUSH
TAB same as CLEAR
See Also:
away(1); bind(4) meta1_character, switch_channels; clear(4); exec(5);
flush(2); invite(1); join(1); keybinds(8); list(2); load(5); lusers(2);
msg(1); names(2); notify(1); query(1); set(4) hold_mode, scroll,
status_user; who(2); whois(2); window(4) kill
Bugs:
The /countrywho alias is no longer present in any script distributed with
the client. Thus, ESC-d will fail.
Other Notes:
This script assumes that META1_CHARACTER has been bound to the escape
key. If not, use the appropriate meta key. It was written by Carl von
Loesch (lynx).

View File

@@ -0,0 +1,13 @@
Synopsis:
load compl.mods
Description:
This script is actually a set of functions designed to interface with
the COMPLETE script. It is not intended for interactive use.
See Also:
complete(8); load(5)
Other Notes:
This script was written by Ian Frechette (Daemon).

View File

@@ -0,0 +1,44 @@
Synopsis:
load complete
Description:
This script was largely inspired by the T-shell (tcsh) and its flexible
command-line tab completion. The tab key (^I) can be used to expand
partial nicknames, server names, or script files. The expansion can be
customized, permitting the user to expand just about anything to
anything else.
Adding New Expansions
The interface allowing new expansions to be added is the /compl.add
alias. It takes a minimum of 2 (two) arguments; the commands to match
for, and the matching method. Basically, the syntax is:
/compl.add -null|-nomatch|<command> <method>
Any number of commands or switches may be specified. The command must
appear exactly as it would on the command line (including any command
characters). The "method" must be one of "messparse" (nickname
expansion for MSG), "connparse" (server name expansion), or
"loadparse" (script files).
Showing Current Expansions
A listing of all current tab expansion rules can be listed with the
/compl.list alias. Each expansion is assigned a unique index number,
mainly for use in the /compl.del alias described below.
Removing Expansions
Tab expansion definitions can also be removed as desired. This is
done with the /compl.del alias. It takes a single argument, the index
of the rule to delete (as shown with /compl.list).
The script provides one additional alias, /makelist, which is used to
gather the current list of servers on the network, for use in server
name expansion.
See Also:
compl.mods(8); load(5)
Other Notes:
This script relies on the COMPL.MODS script, and will not function
without it. It was written by Ian Frechette (Daemon).

View File

@@ -0,0 +1,36 @@
Synopsis:
load country
Description:
This script is used for converting between a country's (official) name
and its ISO country code. It can convert in either direction, and can
convert to a country name based on an email address. Everything is
done through a single alias, /country. The basic syntax is:
/country [<switch>] <nickname|country|isometric>
The default behavior is for the script to try to guess what type of
input it has been given. The default is a nickname. If it cannot find
anyone on irc with that nickname, it checks the length of the input.
If it is longer than 3 (three) characters, a country name is assumed.
If all else fails, it tries an isometric code. Several switches are
available to force the client to do a particular type of lookup
(instead of guessing).
Flag Purpose 
-c assume input is definitely a country name
-f skips userhost lookup used in nickname searches
-i assume input is definitely an ISO code
-n ignored (historical feature)
For convenience, 2 additional aliases are provided; /lcountry is the
same as /country -c, and /lcode is the same as /country -i.
See Also:
load(5); userhost(2)
Other Notes:
This script was originally written by Daniel Cedras (TG). It has been
largely rewritten by Jeremy Nelson (hop), jnelson@acronet.net, to take
advantage of EPIC's features.

View File

@@ -0,0 +1,16 @@
Synopsis:
load cursor
Description:
This script sets key bindings that allow the keyboard arrow keys to be
used to navigate backward and forward through the command history, and
to move it left and right on the command line. It should work on just
about any terminal type.
See Also:
bind(4) backward_character, backward_history, forward_character,
forward_history; load(5)
Other Notes:
The name of the author of this script is not known.

View File

@@ -0,0 +1,22 @@
Synopsis:
load deban
Description:
This script contains a set of aliases for removing channel bans. Bans
can be removed based on a pattern match, based on a nickname they apply
to, or en masse.
Alias Description 
/deban [<chan>] removes all bans
/nban <string> removes all bans containing given string
/unban <nick> removes all bans applying to the nickname
/uniban <patt> [<chan>] removes all bans matching the pattern, or
| those that the pattern matches
See Also:
load(5); mode(1)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.
Credit for the idea for /nban goes to Doug McLaren (DemoN).

View File

@@ -0,0 +1,22 @@
Synopsis:
load deutsch
Description:
[This script is for German users.] Hier ist nix sinnvolles drin, nur
eine kleine Sammlung von Tastenbelegungen, die mit META2_CHARACTER
erreichbar ist. META2 ist per default auf ^w gelegt (CTRL-W).
Key Action  | Key Action 
meta2-f *fauch* | meta2-R rehi <letzter joiner>!
meta2-g *grins* | meta2-s *seufz*
meta2-G *gaehn* | meta2-S *schmoll*
meta2-k *kicher* | meta2-t *troest*
meta2-l *lach* | meta2-T tach <letzter joiner>!
meta2-M moin <letzter joiner>! |
See Also:
bind(2) meta2_character; commander(8); english(8); load(5)
Other Notes:
This script was written by Carl von Loesch (lynx).

View File

@@ -0,0 +1,14 @@
Synopsis:
load disc
Description:
This script is a simple example of BINDing more than one command to the
same key at once. In this case, ^Z will set the client away, and then
suspend the client.
See Also:
away(1); bind(4) parse_command, stop_irc; load(5)
Other Notes:
This script was written by The_Edge.

View File

@@ -0,0 +1,18 @@
Synopsis:
load edit
Description:
This useful, but simple, script allows the user to edit any arbitrary
loaded alias on the input line. It creates a single alias, /edit,
which takes one argument, an alias name. Furthermore, the alias name
may be abbreviated so long as it is not ambiguous.
See Also:
alias(5); load(5)
Other Notes:
This clever script was originally written by Charles Hannum (Mycroft),
mycroft@prep.ai.mit.edu. It has been heavily revamped and simplified
by Jeremy Nelson (hop), jnelson@acronet.net, to take advantages of EPIC
features.

View File

@@ -0,0 +1,22 @@
Synopsis:
load english
Description:
This script is esentially the English-speaker's version of the DEUTSCH
script. It contains an number of key bindings for simple actions. Each
of these bindings begins with the META2_CHARACTER (usually ^W).
Key Action  | Key Action  | Key Action 
meta2-a *applaud* | meta2-f *frown* | meta2-l *laugh*
meta2-A *gasp* | meta2-g *grin* | meta2-r *purr*
meta2-b *blush* | meta2-G *giggle* | meta2-s *sigh*
meta2-B *bow* | meta2-h *hug* | meta2-S *shrug*
meta2-c *cry* | meta2-k *kiss* | meta2-y *yawn*
meta2-C *cough* |
See Also:
bind(4) meta2_character; commander(8); deutsch(8); load(5)
Other Notes:
The name of this script's author is not known.

View File

@@ -0,0 +1,20 @@
Synopsis:
load environment
Description:
This script mainly serves as an example of the flexibility of EPIC's
hooks. It redefines most of them, named hooks and server numerics alike,
to return a customized response.
One neat thing it does is to automatically add any nickname detected by
NOTIFY as a signon to an internal nickname list. It uses the same
method as the TABKEY and TC scripts (and in fact relies on them). The
nickname list is shared between the scripts.
See Also:
events(8); events.hop(8); load(5); notify(1); on(5); tabkey(8);
tabkey.wc(8); tc(8)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,18 @@
Synopsis:
load events
Description:
This is another, though less thorough, example of the flexibility of
EPIC's hook system. It does the following:
* the nickname of the last MSG sender is stored in $STATUS_USER
* LIST, NAMES, and WHO output is more compact and less confusing
* the client will print a message every hour on the hour
* the NOTIFY command will show users' addresses for signons
See Also:
environment(8); events.hop(8); load(5); on(5); set(4) status_user
Other Notes:
This script was written by Jeremy Nelson, jnelson@acronet.net (hop).

View File

@@ -0,0 +1,17 @@
Synopsis:
load events.hop
Description:
This scripts consists of a set of hooks designed to mimic the look of
the MODERN_ART setting found in ancient ircII clients. It primarily
computes the total number of items returned from WHO, LIST, and NAMES
once they are finished. It also places the nickname of the last
person to MSG you in STATUS_USER in the status bar.
See Also:
environment(8); events(8); load(5); on(5); set(4) status_user
Other Notes:
This script was originally written by Carl von Loesch (lynx). It was
mildly updated by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,16 @@
Synopsis:
load fake-dcc
Description:
This script is mostly meant as example usage of the PRETEND command and
the SEND_TO_SERVER hook. This particular example shows how a DCC
handshake can be modified to use a CTCP command word other than "DCC".
It includes the function $getrandword(), which randomly returns a
single word from a list of words.
See Also:
load(5); on(5) send_to_server; pretend(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

32
bitchx-docs/8_Scripts/fe Normal file
View File

@@ -0,0 +1,32 @@
Synopsis:
load fe
Description:
This is an example script that displays the power of FE, primarily how
it can be used to avoid recursion. It includes the following aliases:
Alias Description 
/banalot (un)bans any number of patterns from channel $0
/botsweep kicks everyone matching $0 pattern from channel $1 or $C
/kickalot kicks any number of users from channel $0
/massdeop deops all channel operators on $0 or $C (except $N)
/masskick kicks everyone from $0 or $C (except $N)
/opall ops all non-chanops on $0 or $C
/opalot (de)ops any number of users on channel $0
A function is also included, $uh(). It takes an arbitrary number of
nicknames are returns their corresponding addresses.
Examples:
To ban several sites at once:
/banalot #blah + *!*@*.aol.com *!*@*.gnn.com *!*@*.foo.com *!*@*.aq
To deop a bunch of jerks on channel #foo:
/opalot #foo - jerk1 jerk2 jerk3 jerk4 jerk5
See Also:
Special_Vars(7); fe(5); kick(1); load(5); mode(1)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,17 @@
Synopsis:
load files
Description:
This script is meant as a working example of the posssible uses of EPIC's
various builtin file-access functions. Three aliases are provided:
Alias
/cat like the Unix command, it displays the named file
/grep like the Unix command, it searches for pattern $0 in files $1-
/log_it writes an arbitrary line to file $0
See Also:
close(6); load(5); open(6); read(6); write(6)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,23 @@
Synopsis:
load finger
Description:
This script provides a front-end to the Unix finger command. Finger is
a service that can provide general information about a user from another
site, such as his/her real name, when the person last logged in, etc.
The alias has the following syntax:
/finger [[-h] <nickname>] [[user]@full.hostname]
If a nickname is specified, the script will try to figure out the user's
address, and will finger it. It will finger @host if the -h switch is
given. Alternately, an address or hostname may be given, as per the
traditional Unix finger syntax.
See Also:
exec(5); load(5)
Other Notes:
This script was originally written by Ian Frechette (Daemon). It has
been revised for use with EPIC by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,32 @@
Synopsis:
load fnet
Description:
This script sets a number of aliases and hooks to make the client mimic
the look and feel of IRC ForumNet. The aliases it creates are:
Alias Description 
beep <nick> set a beep to the given nickname
boot <nick> forcibly remove user from a group
commands list ForumNet commands
display <num> redisplay given number of last messages
fset <var> set or display an internal client variable
group <name> switch to a new group
hclear clear /m history
invite <nick> invite a user to the group
m <nick> send a message to another user
motd read the current message of the day
nick <nick> change to a new nickname
nm <nick> remove moderator status from user
pass <nick> make user a group moderator
q quit irc
status [h|p|s|u] change group status
topic <text> set a new topic of discussion for the group
w [<group>] lists all groups and users
See Also:
brc(8); load(5)
Other Notes:
The name of this script's author is not known.

View File

@@ -0,0 +1,24 @@
Synopsis:
load follow
Description:
This script was originally written as an exercise in creativity. It
provides two functions intended to aid users in following other users,
even after their nicknames change, by using output from WHOWAS as input
to WHO.
The first function is $follow(), which takes a single nickname argument.
It attempts to find any users currently on irc with the same address as
that belonging to the given nickname.
The second is $ffollow(), which takes a nickname, and an optional
channel name, as arguments. It is similar to $follow(), but only works
for users that are on the same channels as the client. This function
requires that the GUH script also be loaded.
See Also:
guh(8); load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,26 @@
Synopsis:
load functions
Description:
This script contains several functions useful in scripting for text
display. Of primary interest are $format() and $lformat(). They
behave similarly to using the $[]var notation, except they will not
truncate text that is wider than the specified width.
Also included are $pluck(), $notword(), and $remove(), which are really
just aliases to EPIC's builtin functions $remw(), $notw(), and $remw()
(again).
Refer to Section 6 of the help files for more information on the
myriad functions built into the client.
See Also:
Expressions(7); load(5); notw(6); remw(6)
Other Notes:
Originally, this script contained many more functions, and a number of
aliases. Though still present in the script source code, they are
commented out, as they have been obsoleted by builtin capabilities of
the client. The original functions were authored by Ian Frechette
(Daemon), frechett@spot.colorado.edu.

View File

@@ -0,0 +1,20 @@
Synopsis:
load funnyban
Description:
This script loads a single alias, /funnyban. It takes two argument,
a nickname, and an integer (which is optional, the default is 2).
It determines the address of the user, and replaces every 2 characters
(or the number specified) with an asterisk (*), starting with the
first. A ban on the resultant pattern is then placed on the current
channel.
This script automatically loads the GUH script. In the words of its
author, this script is S L O W.
See Also:
load(5); mode(1)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,45 @@
Synopsis:
load genalias
Description:
This is a set of generic aliases suitable for everyday use. It supplies
the following aliases:
Alias Description 
/+ gives channel mode +v and +o to up to 3 people
/- removes chanop status for up to 3 people in current channel
/! kicks specified person from current channel
/!! adds person to autokick list (requires AUTOKICK)
/!!! kicks up to 3 people from current channel with same reason
/a+ turns INPUT_ALIASES on
/a- turns INPUT_ALIASES off
/ban sets a ban for given pattern in current channel
/bbl sets the client away, expects time or return as argument
/boot kick a user from current channel, with a silly remark
/brb sets the client away
/chops shows channel operators in current channel
/client does a CTCP CLIENTINFO on another user
/close closes a DCC SEND connection with specified user
/cycle leave and rejoin the same channel
/finger does a CTCP FINGER on another user
/get same as DCC GET
/i invites a user to the current channel
/log same as WINDOW LOG
/m sets a mode for the current channel
/n change nicknames
/nws set user mode -sw
/recho echoes text after evaluating it once
/script same as DCC SEND, except it searches the IRCPATH for the file
/send same as DCC SEND
/umode set the client's user mode
/ws set user mode +sw
It also provides a single function, $when(), which computes the elapsed
time between the current and an arbitrary time in the past.
See Also:
autokick(8); load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,19 @@
Synopsis:
load global
Description:
This script is loaded automatically when the client first starts. At
the time of this writing, it automatically loads 2.8SCRIPT, BASICAL, and
LOCAL. It also sets the following aliases:
Alias Description 
/d+ sets DISPLAY on
/d- sets DISPLAY off
See Also:
2.8script(8); basical(8); load(5); local(8)
Other Notes:
This script has been butchered over the years to the point that no one
person deserves sole credit for its creation.

26
bitchx-docs/8_Scripts/guh Normal file
View File

@@ -0,0 +1,26 @@
Synopsis:
load guh
Description:
This script consists of a trio of functions, primarily aimed at fetching
information about other clients. Each relies on a server query, so they
may not return the requested information immediately.
The first is $whatchan(). It takes a single nickname as its argument,
and uses WHOIS to try to return a list of channels that nickname is on.
The second is $is_on(). It also takes a single nickname as its argument.
If the nickname is currently on irc, it returns that nickname; it returns
nothing if it is not in use.
The last is $uh(). It takes an arbitrary number of nicknames as its
arguments, and uses them as the input arguments for a USERHOST call. It
returns the output from USERHOST, usually a list of addresses, one per
nickname.
See Also:
ison(2); load(5); userhost(2); whois(2)
Other Notes:
These functions were written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,27 @@
Synopsis:
load history
Description:
This clever script allows for special escape sequence to be used inside
the current input line. The sequences refer to the previous line
entered on the input line. The binding ^k-h may be used to toggle the
history function on and off.
Escape Description 
!$ expands to the last word in the previous line
!0 !1 ... !9 expand to the first ten words in the last line entered
!* expands to all but the first word in the previous line
Examples:
To ban an abusive user from several channels:
/mode #channel1 +b *!*jerk@*.lusers.com
/mode #channel2 +b !$
!0 #channel3 !2 !3
See Also:
history(4); load(5)
Other Notes:
This script was written by Matthew Green (phone), mrg@mame.mu.oz.au, and
Ian Frechette (Daemon), frechett@spot.colorado.edu.

View File

@@ -0,0 +1,17 @@
Synopsis:
load history-match
Description:
This script attempts to emulate the T-Shell's (tcsh) history completion
capabilities, ESC-p. The script binds META2-p to this function (META2
is bound to ^X by default). It allows for both command completion and
argument completion from the client's command history. If multiple
matches are found in the history, repeated ^X-p will cycle through each
possibility.
See Also:
bind(4) meta2_character; history(4); load(5)
Other Notes:
This script is believed to have been written by Matthew Green (phone).

View File

@@ -0,0 +1,33 @@
Synopsis:
load imap
Description:
This script is designed to present the user with a topological view of
the current irc network, from the perspective of any server on the
network. It contains 2 (two) commands that may be called directly:
Command Description 
/gomap [<serv>] displays the current server map; if a server name
| is given, the script will attempt to show the map
| from that server's perspective, else the current
| is assumed
/initmap [<serv>] initialized the map database; the output may be
| limited to a set of servers if one or more server
| masks are supplied (as with LINKS)
See Also:
links(2); load(5); map(2)
Restrictions:
The script does not know how to deal with server masks gracefully (as it
only relies on LINKS output). The result is that the map may not be
complete.
Other Notes:
Undernet, and networks using ircu-based server code, provides a builtin
MAP command, which does essentially the same thing as this script, only
orders of magnitude faster, and is more accurate.
This script was written by Ian Frechette (Daemon), with inspiration from
Carlo Kid (Run).

View File

@@ -0,0 +1,23 @@
Synopsis:
load ircprimer
Description:
This is one of several sample .ircrc files provided with the client.
This particular one is from the IRCprimer, supplied by the author for
educational purposes. refer to the IRCprimer itself for more
information. Version 1.1 of the Primer is available in PostScript,
LaTeX, and plain text formats via anonymous ftp from:
 FTP Site : Directory 
grasp1.univ-lyon1.fr : /pub/doc/english/beginner/irc/
nic.funet.fi : /pub/unix/irc/docs/
cs-ftp.bu.edu : /irc/support
coombs.anu.edu.au : /pub/irc/docs
See Also:
alias(8); basical(8); bigcheese(8); load(5)
Other Notes:
This script, and the IRCprimer, were written by Nicolas Pioch (Nap),
pioch@poly.polytecnique.fr.

View File

@@ -0,0 +1,13 @@
Synopsis:
load ircrc
Description:
This script is really just a booter file for loading the EVENTS and MSD
scripts. That's it.
See Also:
events(8); load(5); lynx_ircrc(8); msg(8); troy(8)
Other Notes:
This script was written by Carl von Loesch (lynx).

View File

@@ -0,0 +1,37 @@
Synopsis:
load keybinds
Description:
This is a generic set of key bindings, suitable for everyday use.
Key Meta Keys  | Key Convenient Keys 
ESC meta1_character | ESC-c clear_screen
^d meta2_character | ESC-i join last channel invited to
| ESC-l leave current channel
Key Cursor Keys  | ESC-r refresh_screen
ESC-. end_of_line | ^d-^j flush pending buffer
ESC-, beginning_of_line |
| Key VT100-Type Keys 
Key Standard Bindings  | ESC-[ meta2_character
ESC-i toggle_insert_mode | ^[-[-1 meta3_character
^b bold | ^[-[-2 meta5_character
^c switch_channels | ^[-[-3 meta6_character
^h backward_character | ^[-[-4 meta7_character
^w next_window | ^[-[-5 meta8_character
^? backspace | ^[-[-6 meta9_character
| DEL delete_character
Key Erasing Keys  | END end_of_line
^d-^a erase_line | HOME beginning_of_line
^d-^d erase_line | INS toggle_insert_mode
^d-^e erase_to_end_of_line | PGDN page_down
^d-^p delete_previous_word | PGUP page_up
^d-^w delete_next_word |
^d-^y yank_from_cutbuffer |
^u erase_line |
See Also:
bind(4); clear(4); commander(8); join(1); load(5); part(1)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,23 @@
Synopsis:
load kickmenu
Description:
This script keeps track of the last 10 people to join the current
channel, and facilitates a very quick means for removing them from the
channel (or the irc network!).
Key Description 
META1-j shows last 10 nicks to join the channel
META1-k prompts for a nickname to KILL
META2-k prompts for a nickname to KICK from the current channel
See Also:
kick(1); kill(3); load(5)
Restrictions:
Naturally, only irc operators can KILL other users.
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net. It
was adapted from a similar script by Eleazor.

View File

@@ -0,0 +1,21 @@
Synopsis:
load killpath
Description:
This script primarily redefines how KILL messages (operator and server
kills) are displayed. It filters out most of the generally unimportant
information (i.e. the kill path) to make the message more readable.
See Also:
kill(3); kpstat(8); load(5); on(5) 436, server_notice
Other Notes:
This script has been maintained and modified by numerous people over the
years. The original was by YeggMan. Matthew Green (phone) modified it
for compatibility with the then-new ircII 2.2.x clients, and Nicolas
Pioch (Nap), pioch@poly.polytechnique.fr, made modifications for the
then-new 2.7.x series of servers. Ian Frechette (Daemon) later
simplified it, and Jeremy Nelson (hop), jnelson@acronet.net, further
simplified it for EPIC, such that it now has more lines of comments and
credits than actual code.

View File

@@ -0,0 +1,14 @@
Synopsis:
load kpstat
Description:
This script is based on KILLPATH. In fact, it is identical, save that
the KILL messages are put in the status bar, instead of being displayed
in the current window.
See Also:
kill(3); killpath(8); load(5)
Other Notes:
Refer to the KILLPATH helpfile for credits.

View File

@@ -0,0 +1,14 @@
Synopsis:
load more
Description:
This script is an emulation of the Unix utility of the same name. It
displays the contents of a text file, pausing after each windowfull.
See Also:
load(5); more(8)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net, who
was inspired by the more script by archon, archon@tamu.edu.

View File

@@ -0,0 +1,19 @@
Synopsis:
load list
Description:
This script is comprised of a single alias, /showlist. It takes a list
of words for arguments (any number is allowed), and prints them to the
current window one at a time.
This is evidently some sort of intellectual exercise, or proof of
concept script. It certainly isn't the best way to do what it does,
but it does serve as a good example of how to run through an argument
list without using recursion.
See Also:
load(5)
Other Notes:
The name of this script's author is not known.

View File

@@ -0,0 +1,21 @@
Synopsis:
load local
Description:
This script is meant for use by local administrators of the client. It
is (supposed to be) loaded automatically from GLOBAL when the client is
started.
At the time of this writing, the script first informs the user of which
client is being used, it's version, who to contact for trouble, etc.
It loads the DISC and GUH scripts, and sets the translation table to
LATIN_1. It also supplies a function, $locdomain(), which returns true
if the input hostname has the same domain as the client's.
See Also:
disc(8); global(8); guh(8); load(5); set(4) translation
Other Notes:
This script is distributed as "local.examp" in an attempt to make local
administrators tailor it to their needs, instead of loading it blindly.

14
bitchx-docs/8_Scripts/log Normal file
View File

@@ -0,0 +1,14 @@
Synopsis:
load log
Description:
This script serves mainly as an example of how to use WAIT to get the
output of a process. In this particular case, an alias /log will run
"uptime" and log the output, if its first argument is "on".
See Also:
exec(5); load(5); wait(5)
Other Notes:
The name of this script's author is not known.

13
bitchx-docs/8_Scripts/ls Normal file
View File

@@ -0,0 +1,13 @@
Synopsis:
load ls
Description:
This script serves primarily as a working example of how $glob() can be
used. It emulates the Unix ls command, complete with -a and -s flags.
See Also:
glob(6); load(5)
Other Notes:
This script was written by archon, archon@tamu.edu.

View File

@@ -0,0 +1,13 @@
Synopsis:
load lynx_ircrc
Description:
This is another sample .ircrc file. All it does is load the BASICAL,
EVENTS, and MSG scripts.
See Also:
basical(8); events(8); ircrc(8); load(5); msg(8)
Other Notes:
This script was written by Carl von Loesch (lynx).

13
bitchx-docs/8_Scripts/man Normal file
View File

@@ -0,0 +1,13 @@
Synopsis:
load man
Description:
This script creates a man-like interface to the EPIC help files. It will
search all subdirectories for a particular topic.
See Also:
help(1); load(5)
Other Notes:
This script was written by Dawid Kuroczko.

View File

@@ -0,0 +1,14 @@
Synopsis:
load meta
Description:
This script is meant only as a working example of how to bind the
function keys (F1, F2, ...) in ircII-EPIC. Refer to the source code for
more information.
See Also:
bind(4) meta1_character; load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,15 @@
Synopsis:
load meta1
Description:
This simple script binds the backtick character (`) to META1_CHARACTER.
This is mostly useful for people whose keyboard do not have an ESC key
on them (believe it or not...). The ` character can be produced by
typing that key twice in a row.
See Also:
bind(4) meta1_character; load(5)
Other Notes:
The name of this scripts author is not known.

View File

@@ -0,0 +1,18 @@
Synopsis:
load modes
Description:
This script is mostly of historical significance. It does in script what
it now available with the MODE_STRIPPER setting and the MODE_STRIPPED
hook. Use them instead, they are far more efficient.
The script implements a script-based mode stripper, meaning it takes the
arguments received by the MODE hook and breaks them down into their
individual mode changes, allowing them to be processed more easily.
See Also:
load(5); on(4) mode, mode_stripped; set(4) mode_stripper
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,13 @@
Synopsis:
load more
Description:
This script is an emulation of the Unix utility of the same name. It
displays the contents of a text file, pausing after each windowfull.
See Also:
less(8); load(5)
Other Notes:
This script was written by archon, archon@tamu.edu.

21
bitchx-docs/8_Scripts/msg Normal file
View File

@@ -0,0 +1,21 @@
Synopsis:
load msg
Description:
This script sets some key bindings to make sending a message to someone
quicker.
Key
meta2-? send to last person you WHOISed
meta2-! send to last person NOTIFY saw that signed onto irc
meta2-. send to last person you sent a MSG to
meta2-, send to last person who sent you a MSG
See Also:
Special_Vars(7); bind(4) meta2_character; load(5); msg(1); notify(1);
whois(2)
Other Notes:
This script was written by The_Edge. It was later modified for use with
EPIC by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,21 @@
Synopsis:
load mudirc
Description:
This script is a generic MUD interface for ircII-EPIC. Basically, it
opens a new client window and starts a telnet session with the MUD site.
Two commands are provided:
Command Description 
/mud [<key>] displays current defined MUDs if no key
| is given, or connets to the MUD with
| the corresponding key
/newmud <key> <host> <port> defines a new MUD
See Also:
load(5); nemesis(8)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net. It
was largely derived from the NEMESIS script.

View File

@@ -0,0 +1,22 @@
Synopsis:
load mudlike
Description:
This script is meant to make people failiar with MUDs feel more at home
on irc. It enables COMMAND_MODE, meaning a command must be used for
everything, including talking to the currrent channel or query. It sets
a number of hooks to make the client feel like a MUD. In addition, the
following aliases are provided:
Alias Description 
/' sends a message to the current channel or query
/emote same as ME
/say same as ME, but formed as if in 3rd person
/tell same as MSG
See Also:
load(5); set(4) command_mode
Other Notes:
This script was written by Carl von Loesch (lynx).

View File

@@ -0,0 +1,15 @@
Synopsis:
load multi
Description:
This script is meant to remove the need for the Multi program. All it
does is randomly switch characters of its input to upper or lowercase.
The /varcase alias sends the output to the current channel or query,
while /varcasemsg sends it in a MSG to someone.
See Also:
load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,18 @@
Synopsis:
load nemesis
Description:
This script is an interface to the |Nemesis IRC-MUD gateway bot. It
opens a new client window to display the MUD activity in. A pair of
aliases are provided, /nwho and /ntell. The first issues the "who"
command to the |Nemesis bot, and the second issues a "tell" command.
Any additional arguments are also passed along to the bot.
See Also:
load(5); mudirc(8)
Other Notes:
This script was written in 1992, so it's probably safe to say that the
|Nemesis bot no longer exists. The script itself was written by Carl
von Loesch (lynx).

View File

@@ -0,0 +1,10 @@
Synopsis:
load netsplit
Description:
Use netsplit.env instead. This version is old and uses outdated syntax
features.
See Also:
load(5); netsplit.env(8)

View File

@@ -0,0 +1,28 @@
Synopsis:
load netsplit.env
Description:
This is easily among the most well-known, and is probably one of the
most-stolen, scripts available for ircII. It attempts to cut down on
the excess "noise" produced during a netsplit. Instead of seeing a
potential flood of signoff and rejoin messages, everything is condensed
into a single message for the netsplit, and a single message for the
netjoin. All information is saved, so the user can still see who was
lost in the netsplit. Several commands are provided:
Command Description 
/bogusclear purge the list of bogus server patterns
/boguslist display the list of bogus server patterns
/boguspat add one or more new bogus server patterns
/netpurge clean out data about old netsplits
/wholeft should who left in the most recent netsplit
See Also:
load(5)
Other Notes:
This script was primarily written by Ian Frechette (Daemon), including
version VII, the most recent revision. Significant modifications to
previous versions (version V in particular) were made by poxaV,
cgw@unt.edu.

View File

@@ -0,0 +1,15 @@
Synopsis:
load newaway
Description:
This script does essentially the same thing that SHOW_AWAY_ONCE does.
It suppresses the 301 server numeric if the same one is received more
than once. It will display changes in AWAY messages.
See Also:
away(1); load(5); on(5) 301; set(4) show_away_once
Other Notes:
This script was written by Matthew Green (phone). The author explicitly
places the script in the public domain.

View File

@@ -0,0 +1,23 @@
Synopsis:
load newformat
Description:
This script is primarily meant as an extension to 2.8script, though it
can be used alone without problems. It mostly adds commands useful to
irc operators, as well as cleaning up STATS and TRACE output.
Command
/cleantr purge the list of servers from the last TRACE
/conall connect to all servers from last TRACE (usually after
| restarting one's server)
/invite same as INVITE, but current channel is used if none given
/topic same as TOPIC, but current channel is used if none given
/tt toggles display of normal users in STATS and TRACE output
| (also bound to ESC-t)
See Also:
2.8script(8); invite(1); load(5); stats(2); tls(8); topic(1); trace(2)
Other Notes:
This script is assumed to have been written by Matthew Green (phone).

View File

@@ -0,0 +1,26 @@
Synopsis:
load nicks
Description:
This script allows the user to assign aliases to other users' nicknames,
such that one only needs to type a short name when sending a MSG or
initiating a QUERY. All one needs to do is ASSIGN the person's real
nickname to a variable with a shorter name, than messages may be sent
to the variable name.
Examples:
To alias SomeBigNicknameOnDALnet's nick to something easier to handle:
/assign sbn SomeBigNicknameOnDALnet
/msg sbn hi there!
See Also:
assign(5); load(5); msg(1); query(1)
Bugs:
The nature of this script is such that it will expand any variable name,
not just those that were intended to be nickname aliases. Care should
be taken to avoid misdirecting messages.
Other Notes:
This script was written by Mike Sandrof (BigCheese).

View File

@@ -0,0 +1,15 @@
Synopsis:
load old-dcc
Description:
This script is of little use to users of release versions of ircII-EPIC
3.0 and above. It is provided for older or non-EPIC clients that are
not aware of EPIC's DCC REJECT message, sent whenever a DCC connection
is closed prematurely.
See Also:
dcc(1) close; load(5)
Other Notes:
This script was written by persons unknown.

View File

@@ -0,0 +1,24 @@
Synopsis:
load oldping
Description:
This is a script version of the now-ubiquitous CTCP PING command. It is
necessary when dealing with other clients that are particularly old, or
that do not otherwise support CTCP PING (but do support other CTCP
commands). It works by sending the ping message in a CTCP ERRMSG, which
most clients will reply to. It otherwise works just like PING, except
the command is /oping.
See Also:
ctcp(1); load(5); ping(1)
Other Notes:
This script has been contributed to by numerous people. Credit for the
original idea goes to Robey Pointer (Robey), robey@netcom.com, with some
inspiration from Klaus Zeuge (sojge), sojge@minsk.docs.uu.se, and
Nicolas Pioch (Nap), pioch@poly.polytecnique.fr. Some credit also goes
to Peter Hellmonds (snoopy), hellmond@phoenix.princeton.edu. Ian
Frechette (Daemon), frechett@spot.colorado.edu, made the necessary
modifications for it to run under ircII 2.2pre6. Further modifications
have been made by Jeremy Nelson (hop), jnelson@acronet.net, for EPIC.

View File

@@ -0,0 +1,11 @@
Synopsis:
load ping
Description:
At one time, this script implemented a CTCP-based PING command. As that
functionality has been present in the client for some time, the script
is obsolete. This script loads the oldping script.
See Also:
load(5); oldping(8)

View File

@@ -0,0 +1,10 @@
Synopsis:
load pipe
Description:
This script implements the pipe(6) function to capture output from an
/exec'd command and return in a function.
See Also:
exec(5); on(5) exec

View File

@@ -0,0 +1,14 @@
Synopsis:
load prefix
Description:
This script causes all channel messages (sent and received) to be
prefixed with the channel name. It also puts the current channel name
in the input prompt.
See Also:
load(5); set(4) input_prompt
Other Notes:
This script was written by Carl von Loesch (lynx).

View File

@@ -0,0 +1,35 @@
Synopsis:
load recursion
Description:
This script primarily serves as a working example of how to write
recursive aliases. The examples provided fairly suitable for everyday
use (though only irc operators may use some of them).
Alias Description 
/conbunch CONNECT an arbitrary number of servers to current one
/iterate run given command once for each argument
/kickbunch KICK an arbitrary number of people from current channel
/opalot (de)op any number of people
/squitbunch SQUIT an arbitrary number of servers
/versbunch VERSION an arbitrary number of nicknames or servers
Examples:
To ping several people at once:
/iterate ping joebob jimbob toejam junebug
To deop several jerks in the currentchannel:
/opalot - jerk1 jerk2 jerk3 jerk4 jerk5
See Also:
connect(3); fe(8); kick(1); load(5); mode(1); set(4) max_recursions;
squit(3); version(2)
Restrictions:
The MAX_RECURSIONS setting limits the number of times an alias may call
itself.
Other Notes:
The need for recursion has largely been depricated in EPIC with the
introduction of FE. This script was written by Ian Frechette (Daemon),
frechett@spot.colorado.edu.

View File

@@ -0,0 +1,25 @@
Synopsis:
load repeat
Description:
This script is mostly an intellectual exercise. It shows several
different ways of writing a /repeat command, varying from FE, FOR, and
WHILE loops to alias recursion. All function the same:
/repeat <count> <command>
This causes the given command to be executed the specified number of
times. The current version even allows itself to be called recursively.
Refer to the source code for more information.
Examples:
To remind yourself to get off irc:
/repeat 10 echo *** GET OFF IRC IT IS ROTTING YOUR BRAIN!!GGGG
See Also:
load(5); recursion(8); repeat(5)
Other Notes:
This script has been contributed to be many people. The most recent
modifications come frm Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,25 @@
Synopsis:
load screen
Description:
This script allows ircII windows to be manipulated muck like with the
iScreen program. It creates a number of key bindings:
Key Function 
^X1 ... ^X0 swap windows 1 to 10.
^Xa goes to the last window..
^Xc , ^X^C creates a new window
^Xk kills the current window, swaps it with a hidden window.
^Xl lists the windows.
^Xn swaps the next window (in refnumbers)
^Xp swap the previous window (in refnumbers)
^X (space) swap the next window.
^XC clears all windows visible
See Also:
load(5); window(4)
Other Notes:
This script was written by Matthew Green (phone), mrg@mame.mu.oz.au, with
inspiration from Darren Reed (avalon), avalon@coombs.anu.edu.au.

View File

@@ -0,0 +1,16 @@
Synopsis:
load shell
Description:
This script allows the user to start an interactive command shell from
within the client. It supplies a simple /shell command that starts the
shell in a new window. This script requires that the external ircflush
program be available (it should be if the client's installation
defaults were used).
See Also:
exec(5); load(5)
Other Notes:
This script was written by a person or persons unknown.

View File

@@ -0,0 +1,17 @@
Synopsis:
load silent
Description:
This script is meant for use in high-traffic channels. It provides an
alias, /silent, that suppresses the display of all join, part, signoff,
topic, mode, and nick change messages. They are instead displayed in
the status bar in STATUS_USER (if present). The normal behavior can be
restored with /unsilent.
See Also:
load(5); set(4) status_user; wallopstat(8)
Other Notes:
This script was originally written by Carl von Loesch (lynx). It was
modified for use with EPIC by persons unknown.

View File

@@ -0,0 +1,22 @@
Synopsis:
load smileys
Description:
This is a simple set of key bindings that print out smileys. Nothing
earth-shattering. The author says he couldn't chat without them ;)
Key Face | Key Face | Key Face | Key Face
meta2-: :) | meta2-* :* | meta2-# :# | meta2-) :)
meta2-( :( | meta2-I :I | meta2-; ;) |
See Also:
load(5)
Bugs:
Way back when this script was written, ^B meant inverse video, and ^_
meant boldface. Thus, the smileys won't be displayed as they were
originally intended
Other Notes:
This script was written by Carl von Loesch (lynx).

View File

@@ -0,0 +1,22 @@
Synopsis:
load sound
Description:
This script attempts to emulate the /sound command of mIRC. When the
client receives a CTCP SOUND request, it will attempt to play the
sound file specified. This requires that a variable $PLAYWAV be
defined to the location of an external program that can play .wav
files. A sound may be sent with the /sound command:
/sound <target>|* <wav file> [<action text>]
If the target is "*", then the sound is sent to the current channel
or query.
See Also:
ctcp(1); load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net, with
some help from Tjerk Vonck on the semantics of the command.

View File

@@ -0,0 +1,19 @@
Synopsis:
load spfix
Description:
THis script contains a simple function that returns the input string
with the first word stripped off, preserving any whitespace that
precedes the second word. This is necessary, because clients compiled
with the STRIP_EXTRANEOUS_SPACES option will normally strip out the
extra whitespace, which not everyone likes. The function is called
$spfix(), and may be given a string of any length. Refer to the source
code for more information.
See Also:
Compile_Opts(7); info(6); load(5)
Other Notes:
This function was written by James Sneeringer (CrowMan), jvs@ocslink.com,
regardless of what the source code says. ;)

View File

@@ -0,0 +1,20 @@
Synopsis:
load starutils
Description:
This script contains a trio of commands for irc operators. They are
mainly aimed at helping operators curb clonebot abuse.
Command Description 
/mkill KILL multiple nicknames at once with the same reason
/tfilter show all users matching pattern on your server
/tkill KILL all users matching pattern on your server
Use the script's internal /starhelp for more information.
See Also:
kill(3); load(5)
Other Notes:
This script was written by archon, archon@tamu.edu.

View File

@@ -0,0 +1,17 @@
Synopsis:
load stat
Description:
This script supplies a single command, /stat. It essentially does the
same thing as LUSERS, except it returns the information in a somewhat
more useful form. It will return information for any server given, or
the current if used with no arguments.
See Also:
load(5); lusers(2)
Other Notes:
This script was originally written by Twilight1, pda@engr.engr.uark.edu.
It has been modified for use with EPIC by Jeremy Nelson (hop),
jnelson@acronet.net.

View File

@@ -0,0 +1,26 @@
Synopsis:
load tabkey
Description:
This is the original TAB script. It binds the TAB key such that it can
be used to cycle through a list of the most recent nicknames that have
sent or received MSGs from the client. The following bindings and
aliases are provided:
Key Function 
TAB cycle through nickname list
^r cycle nick list in reverse order
^x-^x delete current nickname from TAB list
Alias Description 
/addnick adds any number of nicknames to the TAB nick list
/nicklist shows nicknames on the TAB nick list
See Also:
load(5); msg(1); tabkey.wc(8); tc(8)
Other Notes:
The original author of this script is not known. It has seen updates and
modifications by Ian Frechette (Daemon), frechett@spot.colorado.edu, and
Chetnik, s902211@yallara.cs.rmit.oz.au.

View File

@@ -0,0 +1,15 @@
Synopsis:
load tabkey.wc
Description:
This script is similar to the original tabkey, except it is somewhat
simplified. The main difference is that nicknames are not automatically
added to the nickname list whenever a MSG is sent or received. Nicks
must be manually added with /addmsg.
See Also:
load(5); tabkey(8); tc(8)
Other Notes:
This script was written by Brian Hauber (wc), bhauber@pobox.com..

15
bitchx-docs/8_Scripts/tc Normal file
View File

@@ -0,0 +1,15 @@
Synopsis:
load tc
Description:
This is another implementation of the classic tabscript. It operates in
essentially the same manner as tabkey; the differences between the two
are in the coding itself, and are not really noticeable by the user.
Externally, it is completely compatible with tabkey.
See Also:
load(5); tabkey(8); tabkey.wc(8)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net.

View File

@@ -0,0 +1,22 @@
Synopsis:
load time
Description:
This script fetches the current date and time from either a server or
the client's local host. It can also get the local host's uptime. The
information is then saved in appropriately-named variables for later
use.
Alias Description 
/datetime get day, month, date, and time from local host
/servertime get day, month, date, and time from current server
/uptime get uptime for local host
See Also:
load(5); time(2)
Other Notes:
This name of script's original author is not known. It has been updated
to take advantage of EPIC features by Jeremy Nelson (hop),
jnelson@acronet.net.

17
bitchx-docs/8_Scripts/tls Normal file
View File

@@ -0,0 +1,17 @@
Synopsis:
load tls
Description:
This is the famous Trace/Links/Stats Beautifier. It redefines how server
output from those commands is displayed, such that it is actually
readable!
See Also:
links(2); load(5); newformat(8); stats(2); trace(2)
Other Notes:
The name of this script's original author is not known. It was later
found and modified by Daniel Cedras (TG). It has been further modified
(syntactically) for use with EPIC 3 by Jeremy Nelson (hop),
jnelson@acronet.net.

View File

@@ -0,0 +1,14 @@
Synopsis:
load troy
Description:
This is Troy's .ircrc file. It has many very useful features, including
tabkey and killpath, and has many other useful hints for aspiring ircII
script coders.
See Also:
load(5); ircrc(8); lynx_ircrc(8); tabkey(8)
Other Notes:
This script was written by Troy Rollo (Troy).

View File

@@ -0,0 +1,15 @@
Synopsis:
load uhnotify
Description:
This script compliments NOTIFY, in that it adds the address of any user
that a signon is detected for. It does rely on USERHOST (hence its
name), so the response time may be slightly delayed.
See Also:
load(5); notify(1); usernost(2)
Other Notes:
This script was written by Matthew Green (phone), mrg@mame.mu.oz.au. The
author has explicitly placed it in the public domain.

View File

@@ -0,0 +1,12 @@
Synopsis:
load uping
Description:
This script was originally designed to handle pings with microsecond
accuracy. However, the client now supports this natively, so the script
is no longer needed. It supplies a /uping command which is aliased to
PING.
See Also:
load(5); ping(1)

View File

@@ -0,0 +1,23 @@
Synopsis:
load wallopstat
Description:
This script provides several commands for selectively filtering certain
types of WALLOPS messages.
Alias Description 
/loud- make user wallops appear normally
/loud+ make oper wallops appear normally
/loudS make server wallops appear normally
/silent- put user wallops in status line
/silent+ put oper wallops in status line
/silentS put server wallops in status line
See Also:
load(5); silent(8); wallops(2)
Other Notes:
This script is based on the original silent script by Carl von Loesch
(lynx). This version was written by Peter Hellmonds (snoopy),
hellmond@phoenix.princeton.edu.

View File

@@ -0,0 +1,19 @@
Synopsis:
load webster
Description:
This script currently stands as an intellectual exercise. When webster
servers still existed, it connected to one at the University of Indiana
and acted as a front-end to it, allowing the user to access the server
from the irc client.
At the time of this writing, there are no widely-known webster servers
in existence.
See Also:
load(5)
Other Notes:
This script was written by Jeremy Nelson (hop), jnelson@acronet.net. The
author explicitly allows this script to be distributed as freeware.

View File

@@ -0,0 +1,21 @@
Synopsis:
load window
Description:
This script provides some Emacs-like key bindings for manipulating
client windows.
Key Function 
meta2-0 kill the current window
meta2-1 kill all windows except the current one
meta2-2 open a new window
meta2-+ increase window size by 1 line (also: meta2-z)
meta2-- decrease window size by 1 line (also: meta2-^z)
meta2-= balance the size of all visible windows
See Also:
load(5); window(4)
Other Notes:
The name of this script's author is not known.