<?php
/**************************************************
* NZBirc v1
* Copyright (c) 2006 Harry Bragg
* tiberious.org
* irc config
**************************************************/
/**
* Version String
*
* @var string version - NZBirc Version
*/
$config->version = 'NZBirc v1.4~pre3';
/**
* IRC server settings (only 1 server is allowed at the moment)
*
* @var array irc
* @var array server_
* @var string host - Server hostname
* @var int port - Server Port
* @var string nick - Bots Nickname
* @var string altNick - Alternative Nickname
* @var string name - Bots Name
* @var string ident - Bots ident
* @var array channels - Channels to join on the server, use '#chan' => 'key' for passworded channels
* @var array perform - Actions to perform when connected to the server (this is in raw irc RFC format ie: 'PRIVMSG nickserv :identify my nads'
*/
$config->irc = array (
'server1' => array (
'host' => 'hostname',
'port' => 6667,
'password' => '',
'nick' => '^nzb',
'altNick' => '^nzb_v1',
'name' => 'nzbirc, i\'m not lazy, i\'m efficient',
'ident' => 'nzbirc',
'channels' => array (
'#chan',
),
'perform' => array (
),
),
);
/**
* Admin settings
*
* @var array admin
* @var array nick - List of admin nicknames
* @var bool only - Only the admins can use the bot
*/
$config->admin = array (
'nick' => array (
'yournick',
),
'only' => false,
);
/**
* List of extensions that will be attempted to be loaded (the program will still run if an extension is not loaded)
*
* @var array extensions - List of extensions to load
*/
$config->extensions = array ();
/**
* Commands
*
* @var array commands
* @var array kill - The commands that will kill the bot
* @var array rehash - The commands that will rehash a module
* @var array respawn - The commands that will respawn the worker thread
*/
$config->commands = array (
'kill' => array (
'^!kill',
'^!terminate',
),
'rehash' => array (
'^!rehash',
),
'respawn' => array (
'^!respawn',
),
);
/**
* Paths
*
* @var string userPath - Path to store config variables
* @var string basePath - Path of nzbirc (specifically where irc.php is)
* @var string modulePath - Path of the module
* @var string debugLogPath - Filename for the debug file
* @var string phpPath - Path of the php executable (for testing modules)
* @var string workerPath - path to worker thread
* @var string workerPidPath - path to worker .pid file
* @var string workerLogPath - Path to the worker log
*/
$config->userPath = '/home/user/.nzbirc/';
$config->basePath = realpath(dirname($_SERVER['argv'][0]));
$config->modulePath = $config->basePath.'/modules';
$config->debugLogPath = $config->userPath.'debug.log';
$config->phpPath = 'php';
$config->workerPath = $config->basePath.'/worker.php';
$config->workerPidPath = $config->userPath.'worker.pid';
$config->workerLogPath = $config->userPath.'worker.log';
/**
* Modules
*
* @var array modules - List of modules to load
*/
$config->modules = array (
'base',
'config',
'tvrage',
'ed',
'func',
'hella',
'nzb',
'autotv',
'autoquery'
//'tvnzb'
);
/**
* Worker Thread
*
* @var bool useWorker - Use the worker thead (POSIX OS's only [i.e. not Windows])
*/
$config->useWorker = true;
/**
* Encoding
*
* @var string encoding - What encoding to use (Default ISO-8859-1)
*/
$config->encoding = 'ISO-8859-1';
/**
* Memory Usage
*
* @var int memoryAllocation - How much memory in MB to allocate
*/
$config->memoryAllocation = 15;
/**
* Fork the process
*
* @var bool useFork - Fork the process into a daemon
*/
$config->useFork = false;
/**
* Proxy configuration
*
* @var array proxy
* @var string host - hostname, leave blank for no proxy
* @var int port - port
* @var string username - username [optional]
* @var string password - password [optional]
*/
$config->proxy = array(
'host' => '',
'port' => 8080,
'username' => '',
'password' => '',
);
/**
* Config Module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var string configFile - Define the configuration file (Only change if you know what you are doing)
* @var string configVar - The configuration variable in $irc (Only change if you know what you are doing)
*/
$config->moduleConf['config'] = array (
'publicCommand' => array (
'^config',
'^!config',
),
'privateCommand' => array (
'^@config',
),
'configFile' => 'config.inc.php',
'configVar' => 'config',
);
/**
* TVRage module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var double dataCache - The amount of time (in days) to keep the actual data cache for (this does not include tvrage id caching, which is forever)
*/
$config->moduleConf['tvrage'] = array (
'publicCommand' => array (
'^tvrage',
'^!tvrage',
),
'privateCommand' => array (
'^@tvrage',
),
'dataCache' => 0.5,
'cacheChance' => 0.95,
);
/**
* Newzbin editor module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
*/
$config->moduleConf['ed'] = array (
'publicCommand' => array (
'^ed',
'^!ed',
),
'privateCommand' => array (
'^@ed',
),
);
/**
* HellaNZB module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var array xmlrpc
* @var string hostname - HellaNZB XML-RPC hostname
* @var int port - HellaNZB XML-RPC port
* @var string password - HellaNZB XML-RPC password
* @var array list
* @var int compactLimit - Number of results in a list, to use the compact view method (many results on one line)
* @var int positionRange - When listing a particular position, this defines how many items to list around the item you are looking for
* @var int moveTimerMax - Number of minutes to attempt to move an item in the queue (for when force/next adding)
*/
$config->moduleConf['hella'] = array (
'publicCommand' => array (
'^nzb',
'^!nzb',
),
'privateCommand' => array (
'^@nzb',
),
'xmlrpc' => array (
'hostname' => 'hostname',
'port' => 8760,
'password' => 'password',
),
'list' => array (
'compactLimit' => 6,
'positionRange' => 3,
),
'moveTimerMax' => 20,
);
/**
* Newzbin Module - Please note the commands are regex's www.regular-expressions.info for a very good reference.
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var bool nbLogin - Login to newzbin.com or not
* @var array login
* @var string username - Newzbin.com username
* @var string password - Newzbin.com password
* @var array download
* @var bool useHella - use HellaNZB to download nzb files (not recommended, req: hellanzb)
* @var string nzbPath - path to store all the nzb files
* @var bool nickPreface - Add a (nickname) at the beginning of each nzb file for ident later
* @var int history - Number of days to keep a history of nzb's that have been downloded
* @var bool useDNZB - use v3's Direct NZB download method
* @var string language - if you only want results from a particular language, specify it here
* @var int searchResults - How many results you want to return from a search result
* @var bool deepSearch - Performs a deep search of the results (and provies extra information, ie: size, filename, tv info)
* @var int reportCache - The number of days to keep reports info before re-requesting it
*/
$config->moduleConf['nzb'] = array (
'publicCommand' => array (
'^nzb',
'^!nzb',
),
'privateCommand' => array (
'^@nzb',
),
'nbLogin' => true,
'login' => array (
'username' => 'username',
'password' => 'password',
),
'download' => array (
'useHella' => false,
'nzbPath' => '/path/to/nzb/',
'nickPreface' => false,
'history' => 14,
'hideDnzbWait' => true,
),
'language' => '',
'searchResults' => 4,
'maxPages' => 5,
'reportCache' => 4,
'cacheChance' => 0.95,
);
/**
* Newzbin Module - Please note the commands are regex's www.regular-expressions.info for a very good reference.
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var int checkTime - When to start checking for a new episode (in hours from 00:00 on the day of airing)
* @var int hourlyCheckLength - How long to check for episodes every hour (in days)
* @var int dailyCheckLength - How long to check for episodes every day (in days)
* @var int tvrageCheckTime - How often to check tvrage for new episodes (in hours)
* @var array starTime
* @var array hourCheck - List of times to check for episodes hourly (minutes of the hour) [splits the search evenly between the times]
* @var array dayCheck - List of times to check for episodes daily (mintues of the hour) [splits the search evenly between the times]
* @var array tvrageCheck - List of times to perform the tvrage check (minutes of the hour) [splits the search evenly between the times]
* @var string defaultFlags - The default flags for tv shows (see module:ed for list of flags)
* @var int nextEpisode - Number of days to check in the future for new episodes
* @var array list
* @var int compactLimit - Number of results in a list, to use the compact view method (many results on one line)
* @var int historyLength - How long to keep episodes in the history
*/
$config->moduleConf['autotv'] = array (
'publicCommand' => array (
'^autotv',
'^!autotv',
),
'privateCommand' => array (
'^@autotv',
),
'checkTime' => 20,
'hourlyCheckLength' => 7,
'dailyCheckLength' => 21,
'tvrageCheckTime' => 4,
'startTime' => array (
'hourCheck' => array ( 6, 16, 26, 36, 46, 56 ),
'dayCheck' => array ( 3, 13, 23, 33, 43, 53 ),
'tvrageCheck' => array ( 0, 10, 20, 30, 40, 50 ),
),
'defaultFlags' => 'normal',
'nextEpisode' => 6,
'list' => array (
'compactLimit' => 6,
),
'historyLength' => 14,
'useTvNzb' => false,
);
/**
* AutoQuery Module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var int checkTime - When to start checking for a new episode (in hours from 00:00 on the day of airing)
* @var string defaultFlags - List of default flags
* @var array startTime
* @var array dayCheck - List of times to check for episodes daily (mintues of the hour) [splits the search evenly between the times]
* @var array list
* @var int compactLimit - Number of results in a list, to use the compact view method (many results on one line)
*/
$config->moduleConf['autoquery'] = array (
'publicCommand' => array (
'^&autoquery',
),
'privateCommand' => array (
'^\\*autoquery',
),
'checkTime' => 5,
'defaultFlags' => 'xvid',
'startTime' => array (
'dayCheck' => array ( 4, 14, 24, 34, 44, 54 ),
),
'list' => array (
'compactLimit' => 6,
),
);
/**
* Store Module
*
* @var string filename - Filename to store the variables in
* @var string workerFilename - Filename to communicate with the worker thread
* @var string folder - Folder for all the storage variables
*/
$config->moduleConf['store'] = array (
'filename' => 'store.xml',
'workerFilename' => 'worker.xml',
'folder' => 'store/',
);
/**
* TVRage module
*
* @var array publicCommand - Lists the commands that trigger this module, and return publicly
* @var array privateCommand - Lists the commands that trigger this module privatly (notice you)
* @var double dataCache - The amount of time (in days) to keep the actual data cache for (this does not include tvrage id caching, which is forever)
* @var double cacheChange - Probability of using the cache instead of re-querying (between 0 and 1, 0.9 = 90%)
*/
$config->moduleConf['imdb'] = array (
'publicCommand' => array (
'^&imdb',
),
'privateCommand' => array (
'^\\*imdb',
),
'dataCache' => 4,
'cacheChance' => 0.9,
);
global $config;
?>