Skip to content
Steven Smith edited this page Apr 3, 2014 · 51 revisions

Configuration

CloudBot uses a JSON-formatted configuration file to hold settings, named config.

Default Config

On first run config.default should be present. Rename it to config and modify the settings. The default config is as follows:

{
  "connections":
  {
    "esper":
    {
      "server": "irc.esper.net",
      "nick": "MyCloudBot",
      "user": "cloudbot",
      "realname": "CloudBot - http://git.io/cloudbotirc",
      "mode": "",
      "nickserv_password": "",
      "nickserv_user": "",
      "channels": ["#cloudbot", "#cloudbot2"],
      "invite_join": true,
      "auto_rejoin": false,
      "command_prefix": "."
    }
  },
  "disabled_plugins": [],
  "disabled_commands": [],
  "acls": {},
  "api_keys":
  {
    "tvdb": "",
    "wolframalpha": "",
    "lastfm": "",
    "rottentomatoes": "",
    "soundcloud": "",
    "twitter_consumer_key": "",
    "twitter_consumer_secret": "",
    "twitter_access_token": "",
    "twitter_access_secret": "",
    "wunderground": "",
    "googletranslate": "",
    "rdio_key": "",
    "rdio_secret": ""
  },
  "permissions": {
    "admins": {
      "perms": ["adminonly", "addfactoid", "delfactoid", "ignore", "botcontrol", "permissions_users", "op"],
      "users": ["examplea!user@example.com", "exampleb!user@example.com"]
    },
    "moderators": {
      "perms": ["addfactoid", "delfactoid", "ignore"],
      "users": ["examplec!user@example.com"]
    }
  },
  "plugins":
  {
    "factoids":
    {
      "prefix": false
    },
    "ignore":
    {
      "ignored": []
    }
  },
  "censored_strings":
  [
    "mypass",
    "mysecret"
  ]
}

Options

Connections

Required:

  • server: The server to connect to (irc.esper.net)
  • nick: The name of the bot (MyNewCloudBot)
  • channels: A list of channels to join (#cloudbot)
  • command_prefix: The prefix before bot commands (.)

Optional:

  • port: The port to connect to (6667)
  • user: The bot's username (cloudbot)
  • realname: Real name for whois (CloudBot - http://git.io/cloudbot)
  • server_password: Server password (None)
  • invite_join: Join channels on invite (True)
  • auto_rejoin: Rejoin channels on kick (False)
  • ssl: Enable/disable SSL (False)
  • ignore_cert: Verify SSL certificate (True)
  • nickserv_name: Name of network NickServ (nickserv)
  • nickserv_command: Command used to identify to NickServ (IDENTIFY)
  • nickserv_password: NickServ password (None)
  • nickserv_user: Nickserv account name (None)
  • keep_alive: Ping the server on a timer (False)
Multiple Connections

You can clone this section, and add a coma to make a second connection.

{
          "connections":
          {
            "Server1":
            {
              ...
              "stayalive": false,
              "stayalive_delay": 20
            },
            "Server2":
            {
              "server": "irc.my.net",
              "nick": "MyNewCloudBot",
              ...
            }
          },
          ...
}

Disabled Plugins

An array of text, containing the names of plugins you do not want to use

Disabled Commands

An array of text, containing the names of commands you do not want to use

API Keys

A collection of various API keys to be used with various plugins

Plugins

A collection of settings to be used with various plugins

Factoids

  • prefix: Display a prefix ([factoidname]: ) when saying a factoid (False)

Ignore

  • ignored: A list of ignored channels/nicks/hosts ([])

Censored Strings

A collection of phrases that will be censored ([censored]) in the output

Permissions

Cloudbot uses a permission node based system. Extrapolating from the example is straightforward.

Getting Help

If you need help with anything on this page, head on over to #CloudBot!