Skip to content
lukeroge edited this page Jan 2, 2015 · 3 revisions

Configuration

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

Note! This guide is still written for the old config format. It needs to be re-written for the new format.

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": [
        {
            "name": "esper",
            "connection": {
                "server": "irc.esper.net",
                "port": 6667,
                "ssl": false,
                "ignore_cert": true,
                "password": ""
            },
            "nick": "MyCloudBot",
            "user": "cloudbot",
            "real_name": "CloudBotRefresh - http://cloudbot.pw",
            "avoid_notices": false,
            "channels": [
                "#cloudbot",
                "#cloudbot2"
            ],
            "disabled_commands": [],
            "acls": {},
            "nickserv": {
                "enabled": false,
                "nickserv_password": "",
                "nickserv_user": "",
                "nickserv_name": "nickserv",
                "nickserv_command": "IDENTIFY"
            },
            "permissions": {
                "admins": {
                    "perms": [
                        "addfactoid",
                        "delfactoid",
                        "ignore",
                        "botcontrol",
                        "plpaste",
                        "permissions_users",
                        "op"
                    ],
                    "users": [
                        "examplea!user@example.com",
                        "exampleb!user@example.com"
                    ]
                },
                "moderators": {
                    "perms": [
                        "addfactoid",
                        "delfactoid",
                        "ignore"
                    ],
                    "users": [
                        "examplec!user@example.com"
                    ]
                },
                "trusted": {
                    "perms": [
                        "addfactoid",
                        "delfactoid"
                    ],
                    "users": [
                        "exampled!user@example.com"
                    ]
                }
            },
            "plugins": {},
            "command_prefix": "."
        }
    ],
    "api_keys": {
        ...
    },
    "database": "sqlite:///cloudbot.db",
    "user_agent": "CloudBot/3.0 - CloudBot Refresh <https://github.com/CloudBotIRC/CloudBot/>",
    "plugin_loading": {
        "use_whitelist": false,
        "blacklist": [
            "update"
        ],
        "whitelist": []
    },
    "developer_mode": {
        "config_reloading": true,
        "plugin_reloading": false,
        "console_debug": false,
        "file_debug": true
    },
    "logging": {
        "show_plugin_loading": true,
        "show_motd": true,
        "show_server_info": true,
        "raw_file_log": false
    }
}

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":
          [
            {
              "name": "ServerOne",
              "connection": {
                  "server": "irc.my.net",
                  ...
              },
              "nick": "MyFirstBot",
              ...
            },
            {
              "name": "ServerTwo",
              "connection": {
                  "server": "irc.other.net",
                  ...
              },
              "nick": "MySecondBot",
              ...
            }
          ],
          ...
}

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!

Clone this wiki locally