This plugin is only for users of DALnet. It provides a high degree of automation for dealing with DALnet services, particularly NickServ and ChanServ. If you don't use DALnet, don't use this plugin.
This plugin provides 3 primary services to users
The primary mechanism for dealing with services involves sending passwords to NickServ as needed. At logon time, the password for the nickname you logon with is sent, along with the passwords for any nicknames that appear in the op lists for channels where you have ops privs. So, if you have ops privs in a channel as JoeBlow, in another channel JohnQP, and you log on as Luser, it will send the passwords for all 3 nicknames as soon as you connect. This allows you to get op'd as soon as you enter a channel, because the appropriate passwords have already been provided.
Another password and op-priv related feature is the "preemptive strike". This happens when services return after a netsplit. Normally, sometime after their return, NickServ will prompt you for passwords and ChanServ will deop you until the NickServ passwords are received. This can result in being deoped for a long time (and don't the lamers always seem to show up right about then?). To avoid this problem, the plugin uses the DALnet /watch feature to watch for NickServ to logon. As soon as it logs on after a netsplit, the script "Launches a preemptive strike" by sending your NickServ passwords, and sending "op me" commands to ChanServ for all channels you have op privs on. By sending these commands right away, delays due to lag are avoided, and you usually spend no more than a few seconds deoped.
Because services sometimes misbehave badly (like logging off/on 200 times in a minute during a server resync), the plugin contains some special logic to prevent flooding services (and getting killed for doing so by IRCops who take a dim view of flooding). If you see "Skipping preemptive strike to avoid flooding services" you'll know this logic has kicked in. After services settle down, you may need to manually enter /pw and /opme commands to get back on services' good side.
/dalchan
/dalchan #channelname opnick
/dalchan -#channelname
This command creates, deletes, or lists op channel entries for the DALnet automation. Use this command only for channels on which you are an aop, sop, or founder, on DALnet.
If used with no parameters, this command lists the current op channels.
If used with a channel name and nickname it creates a new entry. The opnick is your nickname which appears in the channel's aop or sop lists. When you connect to DALnet using any nickname, the passwords for all your configured opnicks will also be sent to nickserv, so that you will get op'd by chanserv when you enter any of your op channels, no matter what nickname you enter with. The nickname you enter for opnick must be one from your /dalnick list.
If used as -channelname, it deletes an existing entry.
It is important to note that this command only changes the plugin's config information, it does NOT register a channel with chanserv or change any existing configuration with chanserv.
/dalnick
/dalnick name password
/dalnick -name
This command creates, deletes, or lists nickname entries for the DALnet automation. If used with no parameters, it lists the current registered nicknames. If used with a name and password it creates a new entry. If used as -name, it deletes an existing entry. If the name is "*" and a password is given, it changes the password for all existing entries.
It is important to note that this command only changes the plugin's config information, it does NOT register a nickname with nickserv or change an existing password with nickserv. After registering a name with the normal nickserv commands, use this command to set the corresponding HipScript config information.
/dalverbose [All | Secure | Summary | Off]
This command controls the amount of output displayed by the script as it provides the DALnet automation features. If no parameters are specified, it shows the current setting.
The All parameter shows everything that happens by displaying the exact commands sent to the DALnet services, and fully describing incoming events that triggered the commands.
The Secure parameter shows exactly the same output as the All parameter, except that when a password is sent it doesn't show the password itself. Instead it just shows "Sent Nickserv password for <name>". This keeps your passwords out of the logs and off the screen; handy if someone is looking over your shoulder. Secure is the default.
The Summary parameter reduces screen clutter by showing only a high-level overview of what's happening. For example, on a Preemptive strike, it doesn't show each nickserv and chanserv command it sends, just the summary line "Launching preemptive strike". It shows when services log off, but not when they log back on (since the preemptive strike summary already indicates that). In general, summary still lets you know every time the plugin takes some action related to services, it just doesn't clutter your windows with the gory details.
The Off parameter, as you might guess, doesn't show anything that happens. The ultimate in quiet automation for those inclined to just trust computers to do the right thing.
/dalstrike
This command manually forces a preemptive strike to happen immediately.
/nickfreshen
/nickfreshen cancel
/nickfreshen auto [days]
This command sends your nickname password to nickserv for each registered nickname. A nickname will expire after about 20 days if you don't use it.
The nickfreshen cycle runs "quietly" if you have /dalverbose summary mode on... you get told when the cycle begins and when it ends, without seeing all the commands and repsonses it does as it progresses.
If you use /nickfreshen cancel, it cancels a nickfreshen cycle that's in progress.
If you use /nickfreshen auto, it shows you what your auto-freshen option is, and when the last nickfreshen was done. If you put a number between 0-10 after "auto" it sets the auto-freshen option to refresh your nicks that often. By default, they are refreshed every 5 days. Use 0 to disable auto-freshen.
For users used to the old behavior of /nickfreshen... it now sends passwords for one nick at a time, waits for nickserv to acknowledge it, then 5 seconds later sends the next one. When you have a lot of nicknames and nickserv is lagged, this can result in taking 15 minutes or more to refresh them all, but it's better than getting killed for flooding services.
/opme [#channelname]
If you are on the aop/sop/founder list for a channel, this command will ask chanserv to op you. If you don't provide a channel name, it sends the op command for the channel in which you type the command.
/pw [nickname]
This command sends your nickname password to nickserv. Normally, you don't need to do this because the script will do it automatically when nicksev asks for it. If you don't supply a nickname, it sends the password for the current nickname.
/unbanme [#channelname]
If you are an op on any DALnet channels, this will send an 'unban me' command to chanserv for one of those channels. If entered in a channel window (even one still open after you've been kickbanned) it will send the unban command for that channel. If a channel name is given, it will send the unban command for that channel. Normally you don't need to do this, since the script will automatically unban you if it sees you get banned.
/watch nick
/watch nick!user@host
/watch -[nick!user@host or number]
/watch s
/watch l
The watch command is not strictly a HipScript command, it is a new DALnet command supported by some (soon to be all) DALnet servers. It is a replacement for the /notify command , and it works much better.
In addition to being able to watch for a given nickname, you can add a user@host mask to only watch for the real owner of that nickname, and not get notified about newbies trying to use that name. The filtering on user@host (wildcards allowed) is done by the script, not by DALnet. When you add a new watch entry or do a /watch l to list all entries, it will list anyone currently using a nick, whether they match the user@host mask nor not. However, as users log on and off they will only be reported if they match the user@host mask.
The watch list is stored in the script config data, and is put into effect whenever you log on to a DALnet server.
/watch nick will start watching a given nick. You can optionally specify a user@host mask.
/watch -nick!user@host or /watch -number will remove an entry from your watch list.
/watch s lists statistics about watches you have in effect.
/watch l displays your watch list and indicates which of those users are online.
/watch with no parameters is the same as watch l.
It can be handy to create aliases for dealing with DALnet services. The DALnet-recommended way to communicate with services is to provide a full address in the message. The following aliases will make that easier:
/alias ms /msg memoserv@services.dal.net $*
/alias ns /msg nickserv@services.dal.net $*
/alias cs /msg chanserv@services.dal.net $*
In this way, you can talk to the services using /ms, /ns, or /cs and be sure you're really talking to services (even if, say, you accidentally enter the command in a window on undernet).