Page MenuHomePhabricator

EyeInTheSky
Updated 1,082 Days AgoPublic

Version 4 of 9: You are viewing an older version of this document, as it appeared on Mar 17 2018, 2:19 PM.

Installation

  1. Download the latest binaries from the project page: EyeInTheSky
  2. Extract the archive to an empty folder
  3. Configure the bot by editing configuration.xml
  4. (optional) Configure logging by editing the file log4net.xml
  5. Launch EyeInTheSky.exe

Configuration

For the most part, the comments within configuration.xml should be self-explanatory, because I'm lazy and I don't want to have to update this page very often.

The key parts you need to know -

  • Four general things to configure - the bot itself, the listening IRC network, the reporting IRC network, and the email server.
    • Bot
      • Channels to join on each network
      • A prefix to all commands - commonly ! but I use =, as does this documentation.
      • A path to the configuration file for the stalks - this doesn't need to exist as it is managed by the bot.
      • The full mask of the RC user to listen to
      • The owner of the bot (full mask needed)
      • The format for displaying dates
      • Templates for IRC and email messages (advanced users only)
      • Monitoring port (TCP, reports status of IRC connections)
    • IRC networks (two of these)
      • Most of this should be self-explanatory.
      • Notably, clientName is just a name for logging and reporting.
      • username is used both as the ident field, and the NickServ username if authToServices is set.
      • password is the NickServ password, not the server password.
    • Email
  • #{name} style values reference properties from the top section
  • The location of the configuration.xml file can be changed, pass the new location as the first command line parameter. This helps with upgrades, as your config can be held outside the application directory at a location of your choosing. As the stalk config location is also specified in the configuration file, this is able to be moved outside the application directory.

Commands

The latest help for all commands can be found using the =help command.

Help

Requires: Standard

=help
=help <Command>

Returns all available help for the specified command.

=help <Command> <Subcommand>

Returns the help for the specified subcommand.

Location: Stwalkerster.Bot.CommandLib.Commands

Die

Requires: Owner

=die

Shuts down the bot.

Location: Stwalkerster.Bot.CommandLib.Commands.BotManagement

Command Access

Requires: Standard

=commandaccess <command>

Retrieves the flag required to use the specified command.

Location: Stwalkerster.Bot.CommandLib.Commands.AccessControl

My Flags

Requires: Standard

=myflags
=myaccess
=whoami

Retrieves the flags available to the current user.

Location: Stwalkerster.Bot.CommandLib.Commands.AccessControl

Quick

Requires: Protected

=quick <Flag> <Type> <Match>

Sets up a new basic stalk with the specified match and type, and default options specified.

Specifically, =quick foo page bar would create a new stalk foo monitoring the page bar.

Location: EyeInTheSky.Commands

Stalk

Requires: Protected

=stalk list

Lists all configured stalks

=stalk add <Flag>

Adds a new unconfigured stalk

=stalk del <Flag>

Deletes a stalk

=stalk enabled <Flag> <true|false>

Marks a stalk as enabled or disabled

=stalk mail <Flag> <true|false>

Enables or disables email notifications for each trigger of the specified stalk

=stalk description <Flag> <Description...>

Sets the description of the specified stalk

=stalk expiry <Flag> <Description...>

Sets the description of the specified stalk

=stalk set <Flag> <user|page|summary|xml> <Match...>

Sets the stalk configuration of the specified stalk to specified user, page, or edit summary regex. Alternatively, manually specify an XML tree (advanced).

=stalk and <Flag> <user|page|summary|xml> <Match...>

Sets the stalk configuration of the specified stalk to the logical AND of the current configuration, and a specified user, page, or edit summary regex; or XML tree (advanced).

=stalk or <Flag> <user|page|summary|xml> <Match...>

Sets the stalk configuration of the specified stalk to the logical OR of the current configuration, and a specified user, page, or edit summary regex; or XML tree (advanced).

An XML search tree is an XML root element from the list: and, or, not, true, false, user, page, summary, flag. and and or MUST have two child nodes, not MUST have one child node, and the rest MUST have zero child nodes. user, page, flag and summary MUST have an attribute called value containing a regular expression to match.

For example:

<and>
  <or>
    <page value="Wikipedia:New contributors' help page"/>
    <page value="Wikipedia:Help Desk"/>
  </or>
  <and>
    <not>
      <user value="Stwalkerster"/>
    </not>
    <summary value="/\* New Section \*/"/>
  </and>
</and>

Use the mail option to enable or disable logging of stalk triggers via email. By default, every stalk has it enabled.

ACC

Requires: Protected

=acc <id> <username>

Adds a new temporary stalk with key acc<id> (eg acc12345) for any match on the specified username

Location: EyeInTheSky.Commands

Version

Requires: Standard

=version

Shows the current bot version.

Location: EyeInTheSky.Commands

Edit Flags

For the flag-based stalks, this is a description of some of the flags:

!    - unreviewed
M    - minor
N    - new
B    - bot
move - move
Last Author
stwalkerster
Last Edited
Mar 17 2018, 2:19 PM