hipGreeter Plugin

Overview

This plugin provides a flexible auto-greeter. You can choose to greet everyone as they join channels in your auto-greet list, and greet friends on your pals list regardless of channel. You can greet users publicly or privately.

/greet Command

/greet
/greet [targetname] [options] "Greeting message"
/greet targetname
/greet -targetname
/greet -number

This command creates, deletes, or lists settings for the auto-greeter.

Used with no parms, this command lists all configured auto-greet settings. Used with just a target name parameter, it lists the settings for that target name.

Used with -targetname, this command deletes the auto-greet settings for that target name.

Used with -number, this command deletes the entry that has that number when you list greetings.

Used with a target name, options, and a "Greeting message", this command creates a new auto-greet setting. If the targetname already exists, its options and/or greeting message are updated. The following paragraphs describe the targetname, options, and greeting message.

Targetname

A targetname describes who or where to greet users. There are several forms of targetname, and all forms allow wildcards.

Sometimes when a person joins a channel, several greetings might apply. The script chooses the first greeting that applies by searching in this order:

  1. A match on con#channel:nick!user@host (wildcards allowed)
  2. A match on nick!user@host (wildcards allowed).
  3. A specific pal-name.
  4. The non-specific Pals greeting.
  5. A specific nickname.
  6. A greeting for con#channel
  7. A greeting for just #channel.
Options

Options control the behavior of a greeting; the default if you don't specify the option is the one that appears first in each pair.

The awayonly/sayaway/nosayaway options are a 3-way toggle; only one of the three can be one.

By using /greet [target ] on  or /greet [target ] off  you can activate and deactivate a greeting without losing all the other options and the greeting message.

Greeting Message

The greeting message describes what to say to a user when they enter a channel. The greeting message must appear last on the /greet command line, after the target name and any options, and it must be enclosed in quotation marks. (It thus cannot contain any quotation marks.)

Within the the greeting string, several variables can be used to customize the message on a per-user and per-channel basis. For details, see variables marked with a * in Standard $variables. If there is a pal-name for the joiner, the $selecteduser variable will hold the pal-name, and $lastjoiner will be the untranslated nickname.

The greeting message can contain multiple lines of text (separated with \n), and can include commands, including /me and also any hipscript command. Remember, however, that if you have the sayaway option on for the greeting, your away message is added to the end of the greeting message. So its best to put any commands first, followed by any greeting text. (Or turn off sayway for that greeting.) For example:

/greet #MyChannel public sayaway "/playsound page.wav\nHiya $lastjoiner"

This would play the page.wav sound (on your machine only, other channel users wouldn't hear it) to alert you to the arrival, and would greet the joiner, potentially adding an away msg to the end of the greeting.

Greetings as a simple channel-bot

People are always asking me for plugins that do channel-bot type things. I really should write some. Until I do, the auto-greeter can be used to auto-op and auto-voice people who enter a specific channel. For example:

/greet 1#macintosh:*!*joe@*.someisp.com "/mode $channel +v $lastjoiner"

This will automatically +v someone who joins channel #macintosh on connection number 1 if their nick!user@host matches I!*joe@*.someisp.com. This clearly isn't as nice as a channel-bot that requires a user to "log in" somehow with a password before opping or voicing them, but it's better than nothing.