Configuration

From IRCBotWiki

Jump to: navigation, search

Contents

ircbot.conf format

The IRCBot configuration file is laid out in sections like this:

SectionName {
 Directive value
};

It can also have subsections, like this:

SectionName {
 Directive value
 SubSectionName {
  SomeKey some value
 };
};

When referring to subsections, we use the following notation: SectionName/SubSectionName

Core ircbot.conf Sections

Base

Nick			BotNickname
Mandatory
This sets the nickname the bot should use on IRC.
RegName			Your license name
Mandatory
RegKey			Your license key
Mandatory
SecsBetweenUpdates	30
Mandatory
This sets how often your media servers should be polled for stats, 30 is usually a good default.
DoSpam			1
Mandatory
This sets whether the bot should send song updates, etc. on a global basis.
DoOnjoin		1
Mandatory
This sets whether the bot should send OnJoin greetings on a global basis.
Fork			1
Optional
This will make the bot fork into the background during startup. This is good for people who run the bot in SSH windows so they don't have to use nohup.
EnableRequestSystem	1
Optional
This turns the request system on and off.
PullNameFromAnyServer	1
Optional
This controls whether the bot will try to get stream titles from any media server, or just the 1st media server. (default off)
AutoRegOnHello		1
Optional
This controls whether the bot will automatically create a user if someone types /msg botnick hello (default off)
AllowPMRequests	1
Optional
This controls whether the bot will accept !request's from PMs and consoles.
SendQ			300
Optional
This controls the maximum bytes per second that will be sent to your IRC server(s). Default is 300 bps. If you find the bot is flooding off on your IRC server often, adjusting this may help.
MultiSoundServer	1
Optional
This will enable Multi Sound Server Mode where each of your sound servers will be reported independently. (Things like !request, triggers, etc. will still only operate on the 1st server)
BindIP			0.0.0.0
Optional
This sets the IP listening sockets will bind to. (Note: what IP outgoing connections bind to is unaffected except for IRC connections, which do bind to the IP)
LogChan			#testing
Optional
This sets a channel the bot will display certain log messages to.
LogFile			ircbot.log
Optional
This sets a filename the bot will log to.
SSL_Cert		ircbot.pem
Optional
This will enable SSL connections using the specified PEM file. Note: If you do not specify SSL_Cert and a valid PEM file, SSL will not be available in IRCBot.
BackupDays		14
Optional
This controls how many days files will be left in the backup folder before being deleted. (default 14, set to 0 to disable automatic deletion)
Note: The file deletion scan is indiscriminate of filename or if the bot created it, it only checks the file modification time and deletes it if it is older than X days.
Do not place any file in the backup folder you don't mind being automatically deleted!

Remote

The Remote section controls remote connection system for the bot client, or web-requests.
This could be a security risk somehow (but I doubt it), so it is optional.
Comment it out and the remote system will be disabled.

Port			10001
Optional
This sets what port IRCBot listens on for remote connections.
MinLevel		4
Optional
Sets the minimum level required to use the remote connection, it can be from 1 to 4. This is normally set to 4.

IRC

IRC/ServerX

X is from 0 to 15 (for a max of 16 servers), and you can not skip any #s

Host			irc.crystalone.net
Mandatory
The hostname or IP of the IRC server to connect to.
Port			6667
Optional
The port of the IRC server to connect to. (default 6667)
OnConnect		PRIVMSG NickServ :identify YourNickServPass
Optional
Sets a command the bot will send to the IRC server. (default 6667)
Pass			password
Optional
This is for password-protected IRC servers, and also BNCs that use the same mechanism to authenticate users.
SSL			0
Optional
This tells IRCBot to try to connect to the server over SSL or not.
BindIP			0.0.0.0
Optional
This sets the IP that the IRC connection will bind to.
On512			raw IRC command
Optional
This sets a raw command to be sent on the 512 numeric. It is needed for Chatnet authentication

IRC/ServerX/ChannelY

Y is from 0 to 15 (for a max of 16 channels), and you can not skip any #s

Channel				#channel
Mandatory
This sets the name of the channel.
Key				password
Optional
This sets the channel key (password) if needed.
DoSpam				1
Optional
Sets whether song updates will be sent to this channel.
DoOnjoin			1
Optional
Sets whether greetings will be sent user's joining the channel. (if a greeting is set in ircbot.text)
DoTopic				1
Optional
Sets whether the bot will set the channel topic.
NoTopicCheck			0
Optional
If NoTopicCheck is 1, the bot will use the old channel updating method of only changing it when an event happens.
AltTopicCommand			PRIVMSG ChanServ :TOPIC %chan %topic
Optional
Makes the bot use an alternate command to set the channel's topic instead of the default IRC TOPIC commands.
Use %chan for the channel, and %topic to use the generated topic (from ircbot.text)
moderateOnUpdate		0
Optional
Sets whether the bot will set the channel +m before a channel update and -m after.
SongInterval			X
Optional
If set to 0, song updates will be sent when the DJ or song changes. If set to anything else it will send song updates a maximum of every X minutes.

SS

Stream Servers

SS/ServerX

X is from 0 to 15 (for a max of 16 servers), and you can not skip any #s

Host				192.168.0.3
Mandatory
Sets the hostname or IP of your stream server.
Port				8000
Optional
The port of your stream server.
Type				shoutcast
Optional
The type of your stream server, if it starts with ice it will be set to icecast, anything else will default to shoutcast.
Mount				/
Optional
The mountpoint for your stream. (icecast only, defaults to /)

Timer

Timed event

Timer/TimerX

X should be a number from 0-31. You can set up to 32 timers that way, but you can't skip any #s.

Interval		30
Mandatory
Sets the timer to execute every X seconds.
Network		0
Mandatory
Sets the IRC network to execute the timer on.
Action			raw irc command
Sets the raw IRC command to send to the server

Plugin

X is from 0 to 15, and you should not skip any #s

ModuleX			plugins\win32_plugin.dll
ModuleX			plugins/linux_plugin.so
Optional
This tells the bot to load a plugin. (remember to change \ to / on non-Win32 systems!)

AutoDJ Plugin ircbot.conf Sections

AutoDJ

AutoDJ/Server

This section sets the main information for your stream.

Password			server_stream_pass
Mandatory
Sets the streaming password for your server. (Shoutcast note: this is your streaming password, not admin password)
Name				Name for your Stream
Mandatory
Sets the name AutoDJ will use for your stream
Description			Description for your stream
Mandatory
Sets the description AutoDJ will use for your stream
Genre				Various
Mandatory
Sets the genre AutoDJ will use for your stream
URL				http://www.example.com
Optional
Sets the URL AutoDJ will send for your stream
ICQ				244811
Optional
Sets the ICQ # AutoDJ will send for your stream
AIM				aim_username
Optional
Sets the AIM nick AutoDJ will send for your stream
IRC				#channel, or irc://irc.server.com/channel
Optional
Sets the IRC server/channel AutoDJ will send for your stream
Public				1
Optional
Sets the public flag AutoDJ will send for your stream
Reset				1
Optional
Sets whether icy-reset: 1 is sent in your connection headers (shoutcast only) (default: 0)
Encoder                        mp3
Encoder                        aac
Encoder                        winamp
Optional
Sets which Encoder you would like to use (default: mp3)
Bitrate				64
Mandatory
Sets the bitrate the Encoder will use when encoding your stream (in kbps)
Sample				44100
Mandatory
Sets the samplerate the Encoder will use when encoding your stream
Channels			2
Mandatory
Sets the channels the Encoder will use when encoding your stream.
For the MP3 Encoder plugin, 1 = Mono, 2 = Joint Stereo (if available), 3 = Stereo
For others, it is typically 1 = Mono, 2 = Stereo
Mount				/
Optional
Sets the mountpoint for your stream (Icecast2 only)
MimeOverride			audio/aac
Optional
Forces the feeder to report this mime type to the sound server instead of the one given to it by the Encoder
Content			c:\path\mp3 (Win32)
Content			/some/path/mp3 (Absolute Path in Linux)
Content			./mp3 (Relative Path in Linux)
Mandatory
Sets the folder your music is in
Promo				c:\path\promos (Win32)
Promo				/some/path/promos (Absolute Path in Linux)
Promo				./promos (Relative Path in Linux)
Optional
Sets the folder your promo files are in

AutoDJ/ServerX

You can use these sections to enable multiple outputs of your stream. It uses all the same parameters as the AutoDJ/Server section and uses any values in that section as defaults for the ServerX sections.

Your outputs can all be different codecs, bitrates, etc. and the X number lines up with your Sound Server SS/ServerX numbers.

There is one extra configuration directive in these that is not available in the main AutoDJ/Server section:

Enabled			0 or 1
Optional
Sets whether this server should be fed a stream. (default: 1 in Server0, 0 for all others)

AutoDJ/Options

This section holds various AutoDJ options.

QueuePlugin			.\plugins\adjq_memory.dll (Win32)
QueuePlugin			./plugins/adjq_memory.so (Linux)
Optional
Sets the queue plugin to use (default: adjq_memory)
DSPPlugin			.\plugins\dsp_volnorm.dll (Win32)
DSPPlugin			./plugins/dsp_volnorm.so (Linux)
Optional
Sets the DSP plugin to use (default: none)
SimpleMode			0 or 1
Optional
Specifies whether AutoDJ should operate in Simple Mode or not. (default: 0 in IRCBot Full, 1 in IRCBot Basic) Only Simple Mode is available in IRCBot Basic!
AutoStart			0 or 1
Optional
Specifies whether or not you want AutoDJ to start playing when the bot starts (default: 1)
AutoPlayIfNoSource		60
Optional
If the number is greater than 0, AutoDJ will start playing if your shoutcast server doesn't have a source for over X seconds (default: 0)
EnableRequests			0 or 1
Optional
Specifies whether or not you want AutoDJ to accept requests (default: 1)
EnableFind			0 or 1
Optional
Enables or disables the find command (@find)
EnableRating			0 or 1
Optional
Enables or disables the song ratings system (!rating/!rate)
EnableYP			0 or 1
Optional
Specifies whether or not you want your stream added to the ShoutIRC.com stream list (default: 1)
MinReqTimePerSong              60
Optional
Sets the minimum number of seconds that must pass before a song is requested again. (default: 0/disabled)
MinLevelToRate			1-5
Optional
Sets the minimum level needed to use !rate. 5 (the default) allows full public usage, including users who are not registered in the bot
DoPromos			X
Optional
Sets after how many songs a set of promos is played. This is a modulus so 2 would player after every other song, etc.
NumPromos			X
Optional
Sets how many promos to play in a set. Default/minium is 1.
NoRepeat			X
Optional
Tells AutoDJ not to play any song more often than X seconds. (Unless done by !request or the scheduler)
MoveDir			c:\path\moved (Win32)
MoveDir			/some/path/moved (Absolute Path in Linux)
MoveDir			./moved (Relative Path in Linux)
Optional
Sets the folder files are moved to when you use !move or !autodj-move (note: these commands won't work without a MoveDir set)
NoPlayFilters			*badsong.mp3*,*/some/folder*
Optional
This sets filters to block songs from playing during normal rotation, while allowing them to be requested or queued by the AutoDJ Scheduler
Multiple filters can be specified be seperating them with commas (,)
EnableVoice			0 or 1
Optional
Enables or disables the AutoDJ Voice
VoiceEngine			festival or espeak
Optional, Linux only
Sets the TTS engine the bot will use for the AutoDJ voice. You can set festival to use festival, anything else will default to espeak.
Voice				Name=Microsoft SAM (Win32)
Voice				en/en (Linux, espeak)
Optional, Win32 or Linux with espeak only
This sets the voice AutoDJ will use if the AutoDJ voice is enabled. In Windows, use your control panel to get a list of voices on your system. For espeak, type speak --voices to get a list of voices, what goes here is what is in the Filename column.
VoiceArtist			Artist
VoiceTitle			The voice of AutoDJ
Optional
This sets the meta data (think ID3 tag) to use for the AutoDJ voice when it is talking.

AutoDJ/FileLister

These options control the internal playlist writer of your songs.

List				file.txt/html/whatever
Optional
This sets the filename the playlist will be written to
Header				header.txt
Optional
Sets a file that should be written to the top of your playlist before the songs, default is no header
Footer				footer.txt
Optional
Sets a file that should be written to the end of your playlist, default is no footer
NewChar			%char%
Optional
Sets text to be written when the writer detects a change in the first character of the filenames being written, default is nothing written on new chars
Line				%file%
Optional
Sets the text written for each file, default is %file%

AutoDJ/MP3_Encoder

See MP3 Encoder for configuration options.

AutoDJ/Queue_MySQL

These options control the MySQL Queue plugin.

Host				localhost
Required
Sets the hostname of your MySQL Server
User				mysql_username
Required
Sets the username to use to login to your MySQL Server
Pass				mysql_password
Optional
Sets the password to use to login to your MySQL Server. (comment out or remove line for no password)
DBName				database
Required
Sets which database to use. This database must already exist
DBTable				AutoDJ
Optional
Sets which database table to use. The plugin will attempt to create this table if it doesn't already exist. (default: AutoDJ)
KeepHistory				0
Optional
If # is greater than 0, the plugin will keep your request history for # days (default: 0)

AutoDJ/Winamp_Encoder

These options control the Winamp Encoder plugin. Note: AAC+/FLAC/WMA/MP3 have their mime type set automatically upon loading, for other plugins you will need to set MimeOverride in the AutoDJ/Server section.

Plugin				enc_aacplus.dll
Required (if you want to use the plugin)
This sets the filename the encoder plugin you want to load
FourCC				AACP
Optional
This sets the FourCC code of the encoder you want to use inside the encoder plugin. If this is not set, it defaults to the first (and usually only) encoder in the DLL

SAM Broadcaster Plugin ircbot.conf Sections

These options control the SAM Broadcaster plugin.

SAM

MatchDJ                        SAM
Required
Sets the text to match in the current DJ text (SHOUTcast station name) to know when SAM is playing
EnableRequests			0 or 1
Optional
Specifies whether or not you want the plugin to accept requests (default: 1)
EnableFind			0 or 1
Optional
Enables or disables the find command (@find)
MinReqTimePerSong              60
Optional
Sets the minimum number of seconds that must pass before a song is requested again. (default: 0/disabled)
FindTrigger                    find
Optional
Sets a trigger to use for searching songs instead of find. Only put the name, not the !, @, ?, etc

SAM/MySQL

Host				localhost
Required
Sets the hostname of your MySQL Server
User				mysql_username
Required
Sets the username to use to login to your MySQL Server
Pass				mysql_password
Optional
Sets the password to use to login to your MySQL Server. (comment out or remove line for no password)
DBName				samdb
Required
Sets which database to use. This database must already exist

Auto Identify Plugin ircbot.conf Sections

These options control the Auto Identify plugin.

AutoIdentify

Pass				botsnickservpass
Required
Sets the password to use to identify to NickServ
NickServ			NickServ
Optional
Sets NickServ's nick (for networks that change their NickServ's name)

Channel Linking Plugin ircbot.conf Sections

These options control the ChannelLinking plugin.

ChannelLinking

NetNameX			ShortNetworkNameUpTo32CharsLong
Optional
Sets a short name for the network specified by the number X.

Skype Plugin ircbot.conf Sections

These options control the Skype plugin.

Skype

AnswerMode			AutoAnswer
AnswerMode			Transfer
Optional
Sets whether the Skype plugin should transfer incoming calls to your Skype to another Skype username or phone #. (Good for unattended bots, auto-transferring calls to your real Skype).
MoodTextString			%song
Optional
If set, this will set your "mood text" to the string specified, you can use any Built-In Variables in this string.
It is also a rich mood text, so you can use some HTML, etc. See this for details: RICH_MOOD_TEXT
RequirePrefix			0
Optional
Sets whether commands must be prefixed with a !/@/? or not. If you are using a dedicated Skype username for the bot, 0 is recommended.
However, if you are using the bot with your personal Skype username, you may want it to be 1 so it is less likely to interfer with your normal IM chatting.
TransferCallsTo		skype_name
Optional
Another useful feature if you are using a dedicated Skype username for the bot, if set will forward any calls it receives to skype_name.
skype_name can be a Skype username or a phone number, either *should* work.

TTS Plugin ircbot.conf Sections

These options control the TTS plugin.

  • Note: if you also set a Voice or VoiceEngine in your AutoDJ settings it will override these settings.

TTS

VoiceEngine			festival or espeak
Optional, Linux only
Sets the TTS engine the bot will use for the TTS jobs. You can set festival to use festival, anything else will default to espeak.
Voice				Name=Microsoft SAM (Win32)
Voice				en/en (Linux, espeak)
Optional, Win32 or Linux with espeak only
This sets the default voice plugins will use for TTS jobs. In Windows, use your control panel to get a list of voices on your system.
For espeak, type speak --voices to get a list of voices, what goes here is what is in the Filename column.


IRCBot vde

IRCBot main pages
Main PageInstallationChangelogCommandsPluginsFAQConfigurationCreditsRemote ClientBuffered SendBuilt-In VariablesMulti Sound Server Mode
Auto DJ Pages
Auto DJ Main PageWebRequest SystemSchedulerMP3 EncoderVoice SupportMySQL Plugin
Personal tools