Skip to content
Kyle Clemens edited this page Jun 29, 2013 · 16 revisions

Editing the config.yml

Inside of plugins/RoyalIRC, you should see a file named config.yml. Inside of this file, there are many different configuration options. The config uses spaces for indentation. If you would like to use tabs, please change all indentation to tabs, or the file will not parse correctly. See below for configuration option explanations.

Configuration options

default_config

This must be changed to false in order for RoyalIRC to start up. This prevents many bots from joining EsperNet because of the default configuration by forcing server owners to look at the config.yml.

servers

Under the servers category, you can specify all the bots you would like to create. Each IRC server should be its own bot. The first bot in the default config is called EsperNet. As you can guess, it connects to EsperNet's IRC server (at irc.esper.net). You can change its name by changing EsperNet to something else, like Quake or Fluffy, if you think your bot is a bunny. Under the bot's name, we have the configuration for the bot.

bot configuration

hostname

This is where you can define the hostname to connect to. It can be an IP, but is usually a textual representation.

port

This is the port to use with the hostname. I have not personally tested SSL connections, so I cannot verify if they work.

server_password

This is the password to connect to the server. Not a NickServ/auth password. Leave as "" if there is none.

auth

This defines the type of authentication to use once connected to the server. The only supported value as of now is NickServ. This will attempt to identify with NickServ to verify the bot's authentication (useful for auto-voice, etc.). If you do not want it to identify, set it to "".

auth_password

This is the password for the authentication service specified by auth. If auth is blank, this will not be used and can be set to anything or just "".

nick

The nickname for the bot to use. If it is taken, numbers will be added to then end until it is not taken.

login

The login name for the bot.

finger

What to respond to CTCP Finger requests with.

message_delay

How many milliseconds to delay messages that are queued. This prevents spam kicks/bans. If this isn't specified, it defaults to 1000 (1 second).

channels

A list of channels to connect to. Authentication occurs before joining the channels. If there is a key for the channel, it can be specified like so: #channel key. If there is no key, just #channel will work.

settings

link_channels

If you have specified more than one channel or bot, should messages from different channels be relayed to the other channels? For example, if you have two channels called #hot and #cold, turning link_channels on will send messages from the clients in #hot through the bot in #cold and display them to the clients in #cold.

Let's say our bot's name is RoyalIRC.

#hot
<jkcclemens> Hey.

#cold
<RoyalIRC> [someserver/#hot] <jkcclemens> Hey.

on_kick.rejoin

Should RoyalIRC rejoin channels it was kicked from? It can be made to leave a channel it's not wanted in with a Privmsg part command.

on_kick.time

How long should RoyalIRC wait before rejoining (seconds)?

colors.allow_colors

If allow_colors is true, IRC colors will be converted to Minecraft colors before being sent to Minecraft and vice-versa. If it's false, all colors will be stripped from all messages prior to being relayed.

colors.parse_minecraft_colors

If true, messages from Minecraft with "&x" where x is a valid color code will be parsed into real colors, which will then be converted to IRC colors when being relayed.

colors.parse_irc_minecraft_colors

If true, messages from IRC with "&x" where x is a valid color code will be parsed into real colors when sent to Minecraft.

comment_character

This character (should only be one, if more than one, the first character will be used) can be used in IRC as the first character of a message to prevent sending the message to Minecraft. If it is #, then a message could be...

<jkcclemens> # This message will not be sent to Minecraft.

fantasy_character

The character to be used for fantasy commands (players, kick, etc.). Fantasy commands are done in the IRC channel where the bot is residing.

<jkcclemens> .players
<RoyalIRC> jkcclemens: Players (3/100): Notch, jeb_, deadmau5

auth.admins

Admins are players in IRC that are able to send privmsg commands to the bot and use fantasy commands. Players should not be kept in this area, as no checks are performed for privmsg commands, so any person that changes their nick to an admin can use privmsg commands.

auth.mods

Mods can use fantasy commands. They must have at least channel half-op and be specified in this configuration list. See Commands.

auth.keys.salt

A random string of characters to secure generated hashes for authentication keys.

auth.keys.users

This section is for users to be given hashed keys to escalate their privilege level to admin. Only mods can use authentication keys specified here. Keys can be created here.

messages

default_reason

The default reason to include if a reason for a kick/part wasn't given.

iti, itb, bti

IRC to IRC, IRC to Bukkit, and Bukkit to IRC messages.

IRC to IRC messages are used only when link_channels is set to true.

Variables available:

  • {server}
  • {channel} - not available in quit message
  • {name}
  • {message}
  • {kicker} - only available in kick message, not available in bti
  • {newname} - only available in nick message (itb)

btu, itu

Bukkit User to IRC User and IRC User to Bukkit User messages.

itu Variables Available:

  • {server}
  • {name}
  • {message}

btu Variables Available:

  • {name}
  • {message

commands

This area is for commands aliases to detect commands in Bukkit to be relayed into IRC. All commands should have a trailing space and a preceding slash.

bukkit.action

Commands to be used for IRC actions (/me).

bukkit.say

Commands to be used for Server chat (/say).