CommandManager

(c) 2013-2014 http://ircanywhere.com

Author: Ricki Hastings

IRCAnywhere server/commands.js

class CommandManager.CommandManager()

Responsible for handling all incoming commands from websocket clients

Returns:void
CommandManager.init()

Called when the application is booted and everything is ready, sets up an observer on the commands collection for inserts and handles them accordingly. Also sets up aliases, this should not be recalled, although can be extended to setup your own aliases.

Returns:void
CommandManager._ban(client, channel, nickname, ban)

Sets +b/-b on a specific channel on a chosen client, not extendable and private.

Arguments:
  • client (object) – A valid client object
  • channel (string) – A channel name
  • nickname (string) – A nickname or hostname to ban
  • ban (boolean) – Whether to ban or unban
Returns:

void

CommandManager.createAlias(command, alias)

Creates an alias from the first parameter to the remaining ones.

Examples:

commandManager.createAlias('/part', '/p', '/leave');
// sets an alias for /p and /leave to forward to /part
Arguments:
  • command (string) – A command to alias
  • alias (...string) – A command to map to
Returns:

void

CommandManager.parseCommand(user, client, target, command)

Parse a command string and determine where to send it after that based on what it is ie just text or a string like: ‘/join #channel’

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • command (string) – The command string
Returns:

void

CommandManager.msg(user, client, target, params, out, id)

‘/nickserv’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
  • out (boolean) – Used to force the message to target or params[0]
  • id (objectid) – The object id of the command so we can remove it if we need to
Returns:

void

CommandManager.msg(user, client, target, params, out, id)

‘/msg’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
  • out (boolean) – Used to force the message to target or params[0]
  • id (objectid) – The object id of the command so we can remove it if we need to
Returns:

void

CommandManager.notice(user, client, target, params)

‘/notice’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.me(user, client, target, params)

‘/me’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.join(user, client, target, params)

‘/join’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.part(user, client, target, params)

‘/part’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.cycle(user, client, target, params)

‘/cycle’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.topic(user, client, target, params)

‘/topic’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.mode(user, client, target, params)

‘/mode’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.invite(user, client, target, params)

‘/invite’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.kick(user, client, target, params)

‘/kick’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.kickban(user, client, target, params)

‘/kickban’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.ban(user, client, target, params)

‘/ban’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.unban(user, client, target, params)

‘/unban’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.nick(user, client, target, params)

‘/nick’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.ctcp(user, client, target, params)

‘/ctcp’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.away(user, client, target, params)

‘/away’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.unaway(user, client)

‘/unaway’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
Returns:

void

CommandManager.close(user, client, target)

‘/close’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
Returns:

void

CommandManager.query(user, client, target)

‘/query’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
Returns:

void

CommandManager.quit(user, client)

‘/quit’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
Returns:

void

CommandManager.reconnect(user, client)

‘/reconnect’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
Returns:

void

CommandManager.list(user, client, target, params)

‘/list’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.whois(user, client, target, params)

‘/whois’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void

CommandManager.raw(user, client, target, params)

‘/raw’ command

Arguments:
  • user (object) – A valid user object
  • client (object) – A valid client object
  • target (string) – Target to send command to, usually a channel or username
  • params (string) – The command string
Returns:

void