irc.eightzees.net



Nemesis Services Agent 0.1
--------------------------

Nemesis is a small, light-weight services bot that is intended to serve the function of a nick server and channel server on very small networks or private servers. It maintains a database of registered channels and nicks. Nemesis provides Auto-Op and Auto-Voice for registered nicks and can also log channels.

Nemesis is in alpha stage and is thus buggy. No warranty, express or implied, is given etc etc

Commands of Nemesis
-------------------
(All commands prefixed with /msg nemesis)

Nickname Commands - Currently Implemented
-----------------------------------------

IDENTIFY
-------------------
Identifies yourself to the bot.

[The previous build of Nemesis contained this bug relating to the IDENTIFY command: Nemesis currently maps hostmasks to identified usernames. Also, when Nemesis recieves an IDENTIFY with the wrong password from an already identified user, Nemesis ignores it and returns a TRUE. However, in doing so, Nemesis ignores the hostmask associated with the last IDENTIFY command (the very first build of Nemesis did not use hostmasks at all). Therefore, someone from a different host using the same nick can IDENTIFY with the wrong password and recieve a TRUE from Nemesis. This does not actually identify the user, as the user is still unable to use Nemesis' channel commands like SET and OP. However, this does cause Nemesis to assign the user Auto-Op or Auto-Voice modes. The bug is fixed in the source and is fixed in the curent build of Nemesis, where an IDENTIFY with the wrong password causes Nemesis to unset the identified flag and return FALSE.]

REGISTER NICK
------------------------
Registers your current nick using the given password. You must do this in order to use all of Nemesis's features.

IS IDENTIFIED
--------------------
Asks Nemesis if the given nick is identified. This command is currently buggy (refer to the bug described under IDENTIFY); do not rely on it.

[BUG: Should check against hostmask too. Please fix this before next build.]

Nickname Commands - Todo
------------------------

SET
------------------
Sets a flag associated with your nick. If "flag" is password or welcome, the user's password or welcome message is changed to "value". Otherwise, if "value" is "on", "true", "off", or "false", "flag" is toggled. Certain "flags" cannot be set with this command, including superuser.

DELETE
-----------------
Removes your current nick from the database. This command requires password confirmation.

GROUP
------------
Adds "nick" as an alias of your current (identified) nick. For Nemesis's purposes, both nicks will be identical; you can IDENTIFY under either nick, for example. You may GROUP as many nicks as you want.

SEEN
-----------
Asks Nemesis when "nick" was last seen on any of the channels it manages. Nemesis cannot monitor unregistered channels.

Channel Commands - Implemented
------------------------------

REGISTER CHAN
--------------------------
Registers "channel" under your current nick. You must currently be an operator on that channel and be identified to register a channel.

OP
----------------
Adds this nick to the Auto OP list for "channel". You must be an owner of "channel" and "nick" must be registered. If "nick" is currently in the channel, it gains op status immediately.

VOICE
----------------------
Same as above, but for the Auto Voice list.

SET
------------------------------
Changes the value of "flag" on "channel". The list of flags available for a channel is:
- Implemented: logged
- Todo: topiclock, modelock, opsonly, voiceonly, identonly, identautovoice

Channel Commands - Todo
-----------------------

NUKE
--------------
Kicks all users of "channel", excluding Nemesis and the channel owner.

NUKEBAN
-----------------
Like NUKE but bans the users too.

SCRIPT
-------------------------
When Nemesis's scripting engine is installed, Nemesis can be scripted from a web interface. The channel owner must activate the script in IRC with this command. Channel scripts have the following limitations: they are prohibited from accessing the local filesystem (with the exception of a private directory intended for persistent storage), cannot send messages or notices to channels owned by a different operator (or unowned channels), cannot send messages or notices to a user not on the channel, cannot read services commands sent to the bot, cannot read the nick/chan database, cannot make Nemesis join or part channels, cannot use any of Nemesis's superuser/oper commands, cannot surpass the flood limit. All scripts are writen in Sleep, Jython, or Rhino JavaScript and stored in Nemesis's /scripts/ directory.

Channel !commands - Todo
------------------------
(These are commands issued from within the channel, like !beacon or !echobox. They are used for less sensitive things.)

!repeat [x]
-----------
Sends the last [x] lines of conversation in the channel to you.

!beacon
-------
Outputs a list of all the users' names of the channel, in order to get their attention.

!seen
-----
Like SEEN, but both the command and the response are delivered in the channel with respect to that channel only.

Superuser Commands - Todo
-------------------------
(Note: These differ from the above commands by the inclusion of the parameter)

DELETE
-------------
Deletes a nick from the database.

SET
-------------------------
Changes "flag" to "value" for "nick". Unlike the above SET command, this one is unlimited in what flags it can set.

DROP
----------------
Removes a channel from the database.

SUSPEND
-----------------
Removes a channel from the database and prevents the name from being re-registered.

SUSPEND NICK
-------------------
Locks "nick"; it cannot be IDENTIFIED or used to register channels.

DEIDENTIFY
-----------------
De-identifies "nick", forcing them to re-identify.

KILL
-----------
Kills the nick from the network, equivalent to the oper's /kill command.