#
# miau 0.5.3 configuration file example
#	(C) 2003-2004 Tommi Saviranta <tsaviran@cs.helsinki.fi>
#

# About structure of this configuration file:
#
# - All parameters are written inside quotes (for example, "foobar")
#
# - Options are defined like: option = "parameter1"[:"parameter2"] ...
#
# - When entering multiparameter options, certain parameters have default
#   values and can be left out.
#
# - When entering multiparameter options and, for example, user doesn't want
#   to set parameter2 at all but he needs to set parameter3, parameter2 can
#   be skipped with column (':') like: "parameter1"::"parameter3".
#
# - Empty lines and characters after '#' (hash) are ignored.
#
# - When setting permissions, switched etc. (switches (booleans) are described
#   as "state"), everything beginning with "t", "r" and "1" are concidered as
#   "true" or "yes" (positive). Everything else is "false" or "no" (negative).



# Required settings
################################################################################


# nicknames = { "nick" }: Your nickname (and secondary nicknames) on IRC.
#		If the primary nick (first nick on the list) is already on use,
#		miau will try the others on the list.
#
# Default: no default
#
# Example:
#nicknames = {
#	"zak"
#	"zakh"
#}


# realname = "realname": Your "real" name on IRC.
#
# Default: no default
#
# Example:
#realname = "Prokhor Zakharov"


# username = "username": Your ident (matters only if you don't have identd
#		running).
#
# Default: no default
#
# Example:
#username = "zak"


# password = "password": The password miau will expect to receive from client
#		when it's registering with nick. If this is 13 characters long,
#		miau assumed it's crypted.
#
# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
# (from command line) with -c -switch.
#
# Default: no default
#
# Example:
#password = "foobar"


# listenport = "port": The port miau will wait for incoming connections.
#
# Default: no default
#
# Example:
#listenport = "4096"


# servers = { "server":"port":"password":"timeout" }: miau's IRC-server-list.
#		Each line represents one server, where timeout is delay in
#		seconds before connectiong attempt times out. Only "server"
#		parameter is required.
#
# Default: no default
#
# Example:
#servers = {
#	"irc.net"
#	"irc.foo.bar":"6662"
#	"localhost"::"foobar"
#	"127.0.0.1":"6670"::"5"
#}


# connhosts = { "host":"permitted" }: List of hosts that are allowed (or denied)
#		to connect to miau. When boolean-value is left unset, it is
#		assumed to be "true". This list will be processed as a chain
#		which means latter rules can override previous ones.
#
# Default: no default
#
# Example:
#connhosts = {
#	"*":"yes"
#	"client*.evil.net":"no"
#}



# Optional settings
################################################################################


# listenhost = "host": Host miau uses to listen on.
#
# If you are compiled with IPV6 and need this to listen on an IPV4 port, you
# must use an IP in the form ::FFFF:127.0.0.1
#
# Default: no default
#
# Example:
#listenhost = "127.0.0.1"


# bind = "host": Host/IP miau uses for outgoing connections.
#
# Default: none
#
# Example:
#bind = "172.16.1.1"


# maxclients = "number": Maximum number of clients connected to miau
#		concurrently. Set to zero for unlimited clients.
#
# Default: 3
#
#Example:
#maxclients = "1"


# stonedtimeout = "seconds": Time (in seconds) with no data from the server
#		before it is declared stoned and being disconnected. Although
#		minimum value is 30, this value has no upper limit. Watch out,
#		though, if this value is set too high, death of servers may stay
#		undetected for a very long time if you are idle.
#
# Default: 90
#
# Example:
#stonedtimeout = "150"


# connecttimeout = "seconds": Time (in seconds) before connection attampt will
#		time out. Note that while connecting to the server miau will not
#		respond to clients. Minimum value is 5, and many systems define
#		maximum value.
#
# Default: 30
#
# Example:
#connecttimeout = "60"


# channels = { "channel":"keyword" }: List of channels to join.
#
# Default: none
#
# Example:
#channels = {
#	"#foobar"
#	"#miau":"cats"
#}


# rejoin = "state": Rejoin channels after disconnecting from the server.
#		If rejoin is set to true, channels defined in "channels" are
#		also joined when client first time connects to miau.
#
# Default: true
#
# Example:
#rejoin = "false"


# leave = "state": Leave channels when all clients have detached from miau.
#		If "leave" is set to "false" and "rejoin" is set to "true",
#		channels defined at "channels" will be joined at miau startup.
#		If both "leave" and "rejoin" is set to "true", channels that
#		are left at client detach, are rejoined when client attached
#		back to miau.
#
# Default: false
#
# Example:
#leave = "false"


# leavemsg = "message": Message miau will either use as PART-message or as an
#		ACTION when all clients have detached from miau. If unset or
#		set to empty, no message will be shown. Note that many people
#		dislike event-based messages (which happens when "leave" is set
#		to "false" and "leavemsg" is set). Also see usequitmsg.
#
# Note: Note that commenting this option out and rehashing after leavemsg was
#	set, this option is _not_ reverted. To disable leavemsg afterwards you
#	need to write an empty string here and rehash.
#
# Default: none
#
# Example:
#leavemsg = "doh"


# awaymsg = "message": Text that will be set to miau's away-reason when all
#		clients have detached from miau. If unset or set to empty,
#		AWAY-status will be left untouched. When any client attaches
#		back to miau, AWAY-status will be reset. Also see usequitmsg.
#
# Note: If user sets him/herself away, miau will not touch away-status nor
#	message neither when connecting to or disconnecting from miau.
#
# Note: Note that commenting this option out and rehashing after awaymsg was
#	set, this option is _not_ reverted. To disable awaymsg afterwards you
#	need to write an empty string here and rehash.
#
# Default: none
#
# Example:
#awaymsg = "bouncing around - all private messages will be logged"


# usequitmsg = "state": Use last quit-reason as away-reason and/or leave-message
#		(if respective options are enabled) when all clients have
#		disconnected from miau. If quit-reason is empty, default values
#		of awaymsg and leavemsg will be used, otherwise most recent
#		quit-message overrides values in miaurc.
#
# Default: true
#
# Example:
# usequitmsg = "false"


# getnick = "selection": miau can try to reclaim your primary nick when it is
#		lost. This option may be one of the following: "never",
#		"detached", "attached", or "always".
#			"never" .......	miau will not try to get your nick back.
#			"detached" ....	miau will try to get your nick when no
#					clients are attached.
#			"attached" .... miau will try to get your nick when
#					there are one or more clients attached.
#			"always" ...... miau will try to get your nick 
#
# Note: Do _not_ use options "attached" and "always" with clients (like
#	irc-II EPIC) that automatically change your nick when they receive
#	NICKINUSE from the server - you might end up chaning your nick until
#	server drops your connection due excess flood.
#
# Default: detached
#
# Example:
#getnick = "always"


# getnickinterval = "seconds": Time between tries (in seconds) to obtain
#		currently (possibly) lost primary nick. Don't set it too low
#		or you might get kicked out the server due to excess flood.
#
# Default: 60
#
# Example:
#getnickinterval = "30"


# antiidle = "minutes": Time between idle-timer resets in minutes. Set to 0 to
#		disable.
#
# Default: 0
#
# Example:
#antiidle = "300"


# qloglength = "minutes": Age of oldest line in quicklog in minutes. Set to zero
#		to disable quicklog.
#
# This option might not be compiled in.
#
# Default: 30
#
# Example:
#qloglength = "30"


# timestamp = "option": Location of timestamp in quicklog events. This option
#		may be one of the following "beginning", "end", or "none".
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#timestamp = "beginning"


# flushqlog = "state": If set to true, quicklog will be written only when no
#		clients are connected and quicklog will be erased when client
#		connects to miau. If you are running a single client, you
#		probably want to leave this to "false.
#
# This option might not be compiled in.
#
# Default: true
#
# Example:
#flushqlog = "true"


# inbox = "state": Enables logging private messages when no clients are
#		connected to miau.
#
# This option might not be compiled in.
#
# Default: true
#
# Example:
#inbox = "true"


# nevergiveup = "state": If set to true, miau will reset "working"-status of
#		servers to working when all are set to dysfunctional.
#		Respectively, if set to false, miau will quit when all servers
#		on the list have been set to dysfunctional.
#
# Default: true
#
# Example:
#nevergiveup = "false"


# norestricted = "state": If set to true, miau will not stay on server that
#		forces user to have restricted-status (+r).
#
# Default: true
#
# Example:
#norestricted = "false"


# reconnectdelay = "seconds": Time (in seconds) between connection attempts.
#		Minumun value is set to 1.
#
# Default: 10
#
# Example:
#reconnectdelay = "30"


# nickfillchar = "fill character": Character used to modify your primary nick
#		when all defined nicks are already occupied. Note character is
#		a single octet (byte) and if longer string is fed, only the
#		first character is used.
#
# Example: When nickfillchar is set to '_', primary nick is "zak" and all
#	defined nicks are occupied, next nicks tried are "zak_", "zak__",
#	"zak___" and so on. When nick has grown too long, it will be shifted
#	one characted to right (where shift is cyclic) - this means
#	"zak______" will become "_zak_____", which, again, will become
#	"__zak____".
#
# Default: _
#
# Example:
#nickfillchar = "^"


# maxnicklen = "length": Maximum nick length, used with nickfillchar.
#
# Default: 9
#
# Example:
#maxnicklen = 11


# usermode = "usermode(s)": Usermode that miau will request (if no clients are
#		attached at the moment) from the server when connection to the
#		server is established. Leave unset or set to empty to disable
#		this feature.
#
# Default: none
#
# Example:
#usermode = "+i"


# forwardmsg = "command": miau can collect the (private) messages within three
#		(3) minutes and pipe them into the program specified. Leave this
#		unset or set to empty to disable this feature.
#
# Default: none
#
# Example:
#forwardmsg = "mail user@host"


# ignore = { "mask":"ignored" }: List of users whose private messages (PRIVMSG)
#		and noticies (NOTICE) are ignored when no clients are attached
#		to miau. When "ignored" is left undefined, it is assumed to be
#		"true". Setting "ignored" to "false" means that this user will
#		_not_ be ignored. This list is processed as a chain.
#
# Default: none
#
# Example:
#ignore = {
#	"*@localhost":"yes"
#	"zak*":"no"
#}


# privlog = "mode": Whatever private messages should be logged in nick-specific
#		files. Can be one of "never", "detached", "attached", and
#		"always".
#
# This option might not be compiled in.
#
# Default: never
#
# Example:
#privlog = "always"


# chanlog = { "channel(s)":"options":"logfile" }: List of channel logfiles.
#
# When channel is set to "*", line represents global log. When logging,
# if channel doesn't have entry of it's own in this list, it will use settings
# of global log and write log to it's own file. When defining global log,
# "logfile" is ignored. Each line can have multiple channels
# (like "#foobar,#miau").
#
# If logfile is left undefined, logfile will be named after the channel with
# possible postfix (see logpostfix). All lofiles are written in miau's work
# directory.
#
# Options consist of abritary set of following possibilities:
#	j: log joins
#	e: log parts (exits)
#	q: log quits
#	m: log messages (privmsg/notice)
#	c: log mode changes (changes)
#	n: log nick changes
#	o: log misc events (other)
#	b: log messages from miau (bouncer)
#	a: log all of above
#	A: log when a client is attached
#	D: log when a client is detached
#	C: log continuously (status of clients doesn't matter)
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#chanlog = {
#	"#foobar":"a"		# log everything on #foobar
#	"#miau":"aD":"foo.log"	# log everything to file "foo.log" when
#				  all clients are detached
#	"*":"mjeq"		# log only messages, joins, parts and quits
#				  by default
#}


# logpostfix = "postfix": When writing log to undefined logfile, each logfile
#		consists of channel name followed by postfix. Postfix can be
#		defined here.
#
# This option might not be compiled in.
#
# Default: no postfix
#
# Example:
#logpostfix = ".log"


# onconnect = { "mode":"target/data"(:"data") }: When miau connects and
#		registers user to server, miau can send pre-defined messages.
#		User can define miau to send normal messages (PRIVMSG), notices
#		(NOTICE) or arbitrary messages.
#
# Mode can be one of the following:
#	p: private message (PRIVMSG).
#	n: notice (NOTICE). Should be used with services and automatons, but
#	   unfortunately some network services can't cope with notices.
#	r: "raw" message. This means user must provide complete message to send
#	   to the server. Using raw message user has complete control over what
#	   is being sent. If you don't know what this is, you don't need this.
# When using modes "p" or "n", user must provide both message and target where
# as with raw messages only one parameter in addition to type should be given.
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#onconnect = {
#	"p":"nickserv":"identify foobar"
#	"n":"nickserv@services.host.net":"id raboof"
#	"r":"OPER foo bar"
#}


# automodes = { "mask":"privilegded" }: List of people who are automatically
#		given certain privilege on channel. Mask is given in form of
#		"mode:nick!username@host/#channel" (where "mode" is a single
#		character) and list is processed as a chain.
#
# This option might not be compiled in.
#
# Default: none
#
# Example:
#automodes = {
#	"o:zak*!zak@client*-myisp.com/#channel":"yes"
#	"o:zak*!*@evil.impersonator.net/#foobar":"no"
#	"v:newbie*!*@ircnet.com/#newbie":"yes"
#}


# automodedelay = "seconds": Time (in seconds) after first queued mode change
#		would take effect. During this period of time miau can collect
#		more than one mode change and commit up to three at a time.
#		Other situation reasonaly big value (like 30) here could prove
#		useful is channel where there are stupid "auto-oping" bots.
#		(Stupid bots do mode changes even if someone else did that
#		already.)
#
# This option might not be compiled in.
#
# Default: 30
#
# Example:
#automodedelay = "60"


# cmdpasswd = "password": Password for remote commands. If this is 13 characters
#		long, miau assumes it's crypted. Comment this out or leave it
#		empty to disable remote commands. When sending miau a remote
#		command, password _always_ begins with column (':') (if
#		cmdpasswd is set to "foobar" (or hash of it), you need to send
#		miau a message beginning with ":foobar" to issue a remote
#		command).
#
# This feature might not be compiled in.
#
# If miau is compiled with ENABLE_MKPASSWD, miau can generate password-hashes
# (from command line) with -c -switch.
#
# Default: disabled
#
# Example:
#cmdpasswd = ""


# dccbounce = "state": miau can bounce DCCs. Set to true to enable bouncing.
#		You probably don't need this.
#
# This option might not be compiled in.
#
# Default: false
#
# Example:
#dccbounce = "true"


# dccbindhost = "host": If miau has separate IPs for IRC-network and clients,
#		you should enter IP for clients here.
#
# This option might not be compiled in.
#
# Default: no default
#
# Example:
#dccbindhost = "10.0.0.1"
