- Table of Contents
- What is pisg?
- Setting up pisg for the first time
- General pisg options
- Channel -- define channel name
- Format -- the logfile format
- Network -- the IRC network of the channel
- OutputFile -- name of the generated HTML page
- OutputTag -- tag to insert into OutputFile
- Logfile -- name of logfile to parse
- LogDir -- parse a directory full of logs
- NFiles -- parse only the last files in LogDir
- Maintainer -- name of the maintainer
- ColorScheme -- use a different color scheme for stats page
- AltColorScheme -- alternate stylesheets for stats page
- Lang -- define the language / translation to use
- PageHead -- define a file as page header
- PageFoot -- define a file as page footer
- LogPrefix -- only parse logs LogPrefixed with a user defined string
- LogSuffix -- Regexp to sort logfiles by format month||day||year
- Silent -- make pisg silent, suppress messages
- CacheDir -- use a cache to speed up log parsing
- Options for various statistics features
- DailyActivity -- number of days to show in "Daily Actitity"
- ShowActiveTimes -- enable/disable "Most Active Times"
- ShowActiveNicks -- enable/disable "Most Active Nicks"
- ShowBigNumbers -- enable/disable "Big Numbers" sections
- ShowTopics -- enable/disable "Latest topics" sections
- ShowLines -- enable/disable "number of lines"
- ShowWpl -- enable/disable "words per line"
- ShowCpl -- enable/disable "characters per line"
- ShowWords -- enable/disable "number of words"
- ShowLastSeen -- show when a user was last seen on a channel
- ShowTime -- show when a nick was active
- ShowLineTime -- mIRCStats like behaviour of time bar
- ShowWordTime -- ShowLineTime like behavior of words column
- ShowRandQuote -- enable or disable the random quotes
- ShowLegend -- enable or disable the legend of the time bars
- ShowKickLine -- enable or disable the kick line
- ShowActionLine -- enable or disable the action line
- ShowShoutLine -- enable or disable the shout line
- ShowFoulDecimals -- set how many decimals to show
- ShowFoulLine -- enable or disable the foul line
- ShowViolentLines -- enable or disable the violent lines
- ShowMuw -- enable or disable "Most used words"
- ShowMrn -- enable or disable "Most referenced nicks"
- ShowMru -- enable or disable "Most referenced URLs"
- ShowCharts -- enable or disable channel music charts
- ShowOps -- enable or disable op statistics
- ShowVoices -- enable or disable voice statistics
- ShowHalfops -- enable or disable halfop statistics
- ShowMostNicks -- show who changed nick most often
- ShowActiveGenders -- show stats on which gender talked most
- ShowSmileys -- show most used smileys
- ShowKarma -- show channel karma
- ShowMostActiveByHour -- show most active nicks by hour
- ShowOnlyTop -- only count stats for top talkers, ignore less-active users
- ShowMostActiveByHourGraph -- show graphs in most active nicks by hour
- IgnoreWords -- ignore specified words
- NoIgnoredQuotes -- Control random quote output
- FoulWords -- specify words considered to be bad/FoulWords language
- ViolentWords -- specify words considered to be aggressive/violent
- MinQuote -- minimum numbers of letters for a random quote
- MaxQuote -- maximum numbers of letters for a random quote
- WordLength -- minimum number of characters in an interesting word
- QuoteWidth -- maximum allowed length of a "word" with no spaces
- BigNumbersThreshold -- Minimum number of lines per user for some "Big Numbers" statistics
- ActiveNicks -- nicks to show in "Most Active Nicks"
- ActiveNicks2 -- nicks to show in "These didn't make it.."
- ActiveNicksByHour -- number of nicks to show in "Most Active Nicks By Hour"
- MostNicksHistory -- maximum number of nicks to show in "users with most nicknames"
- MostNicksVerbose -- show nicks used in "most nicks"
- TopicHistory -- maximum number of topics to show
- UrlHistory -- maximum number of URLs to show
- ChartsHistory -- number of songs to show
- ChartsRegexp -- how to recognize songs played
- WordHistory -- maximum number of words to show
- NickHistory -- maximum number of nicks to show in "Most referenced nicks"
- SmileyHistory -- maximum number of smileys to show in smiley stats
- KarmaHistory -- maximum number of nicks to show in "Karma"
- NickTracking -- track nick changes and create aliases
- NickLimit -- maximum number of nicks in lists
- SortByWords -- sort "most active nicks" by words
- Picture options
- PicLocation -- path to images on stats page
- UserPics -- number of user pictures per row
- ImagePath -- path to user pictures (HTML page)
- DefaultPic -- use a default user picture
- ImageGlobPath -- path to user pictures (output generation)
- PicWidth -- define a standard width for user pictures
- PicHeight -- define a standard height for user pictures
- Misc options
- Charset -- character set to use for stats page
- LogCharset -- character set for logfiles
- LogCharsetFallback -- fallback character set for logfiles
- TimeOffset -- use a different time zone than the local machine
- RegexpAliases -- use regular expressions in user aliases
- LangFile -- filename of language file
- CssDir -- path to directory with CSS files
- HiCell, HiCell2 -- colors for color gradient in most active nicks section
- LogType -- type of log (not the format of the log)
- StatsDump -- dump raw statistics into file
- Copyright and License
What is pisg?
pisg is an IRC statistics generator. It takes IRC logfiles and turns them into nice looking stats.
In general, you would do something like this to get it running:
Enable logging in an IRC bot, or in your IRC client. The log will be outputted into a file.
You set up pisg, you define the channel name, and the path to the logfile you created.
You run pisg, pisg runs the log through and create statistics, it then creates an HTML page which you can upload to a webserver.
What are the requirements to run pisg?
An IRC client or bot where pisg supports the output logfile.
Any operating system which Perl runs on, this includes popular OSes such as Linux, FreeBSD, Windows and Mac. You will have a hard time finding an OS where Perl isn't supported. For Windows this means that you need to download ActivePerl.
Optional - a system to host the statistics page 24 hours a day, 7 days a week.
Optional - a system to log the channel, 24 hours a day, 7 days a week.
Setting up pisg for the first time
Most configuration happens through the pisg.cfg file, the file format is made to be easy to read, and easy to extend for further use. It uses an XML-like format, with elements and attributes.
Setting up a channel
An element called Channel is made for defining channels, a quick example of a channel is here:
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
Maintainer = "John"
OutputFile = "mychan.html"
</channel>
|
That is basically it! Now, there are a lot more options that you can use for your channels, for this please refer to the reference documentation.
Also be-aware of the fact that pisg uses various images to show the time-related bars. These images are placed in the gfx/ folder and should be placed into the same directory as your outputted HTML file.
Specifying user options
User options are set with a simple XML-like syntax in the form:
<user nick="NICK" option="VALUE"> |
<user nick="Joe" alias="Joe^*">
|
<user nick="Ben" pic="ben_holiday.jpg">
|
<user nick="Ben" pic="ben_holiday.jpg" bigpic="ben-big.jpg">
|
<user nick="Ben" pic="ben_*.jpg">
|
<user nick="Ben" sex="m">
|
<user nick="Christine" link="http://www.christine.com">
|
<user nick="Chris" link="chris@host.com">
|
<user nick="nameofbot" ignore="y">
|
<user nick="Joe" alias="Joe^away Joe^work" pic="joe.jpg" link="joe@joe.com" sex="m">
|
Setting global options
Many times, it will be useful to set up global options, global options are set like this:
<set option="VALUE">
|
For example, to change the background color of the stats page, you could do:
<set bgcolor="black">
|
<set lang="DE" timeoffset="+1">
|
Ignoring links
It's possible to ignore links in the "Most referenced URLs" section:
<link url="http://www.slashdot.org" ignore="y">
|
Including common settings for various channels
If you have, for example, more than one channel, where the users are the same, or you don't want to maintain more than one user file, you can use the "include" setting in the main config file:
<include="/home/vetinari/pisg/users.cfg">
|
Note, that you can NOT include a file from an included file!
Changing the layout of your stats page
The standard layout and colors in the outputted HTML page are made to be somewhat clean and neutral. But you have the chance to change the layout yourself.
There are a few predefined color schemes for you to use, use the ColorScheme option when using them. The colorschemes distributed with pisg are: default (which is the default), darkgalaxy, darkred, justgrey, ocean, orange_grey, pisg, softgreen.
When changing it, you need a fair knowledge of CSS (Cascading Style Sheets). CSS is what most of the web uses today to define styles and layout on HTML pages. With the pisg distribution, look in the layout directory. In it resides default.css which is the file being included onto the HTML page. Open it in a text editor like vi or notepad. Then change it until you're happy with it. Be aware that you might want to look at the HiCell and HiCell2 options through pisg.cfg for changing the last two colors.
If you have created a nice stylesheet which other can take advantage of, you are encouraged to send it to the pisg mailing list so that it can be distributed with the next version of pisg.
If you want to embed the statistics into another page, use the "none" color scheme. Pisg will then omit the HTML header and write only the body part.
Running pisg
When everything is set up in the pisg configuration file (pisg.cfg), then you simply run pisg on the command-line.
Using Linux, BSD or another UNIX-like system:
user@host:pisg-0.37$ ./pisg
|
Using Windows:
c:\pisg> perl pisg
|
The program will run and parse the logfiles you specified in the configuration file.
If you are using Linux, BSD or another UNIX-like system and want run pisg automatically several times a day, then see the crontab file in the scripts/ directory.
For Windows, see the windows-upload-ftp.txt file with the pisg distribution, this file is also placed in the scripts/ directory.
Obtaining help and reporting bugs
If your problem could not be resolved through here, then you should send an e-mail to the pisg mailing list. You can subscribe and see more info at http://lists.sourceforge.net/lists/listinfo/pisg-general.
If you believe that you have found a bug, you should use the SourceForge bug tracking system.
General pisg options
Channel
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
Maintainer = "John"
</channel>
|
Description
Channel is used in two contexts, globally when using <set> and when defining new channels. It sets the name of the channel.
Format
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "eggdrop"
Maintainer = "John"
</channel>
<set Format="mIRC">
|
Description
Format is used to define the format of the logfile, pisg supports a various number of different logfiles, see the FORMATS file included with the pisg distribution. If your logfiles have the suffix .gz or .bz2, they will automatically be decompressed and read by pisg. See also Maintainer.
Network
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "eggdrop"
Network = "Undernet"
</channel>
<set Network="Quakenet">
|
Description
Network is used to set the network which the channel resides on, this name is displayed on the stats page.
OutputFile
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "eggdrop"
OutputFile = "mychan.html"
</channel>
<set OutputFile="mychan.html">
|
OutputTag
Synopsis
<channel="#channel">
LogDir = "logs/"
Format = "eggdrop"
OutputFile = "mychan%t.html"
OutputTag = "-week"
</channel>
<set OutputTag="-week">
|
Description
OutputTag specifies a string that will replace occurrences of "%t" in OutputFile. This option is most useful when used as a command line switch (-t) to pisg in conjunction with NFiles (-nf). Example:
$ pisg -co pisg.conf
$ pisg -co pisg.conf -nf 8 -t -week
|
Logfile
Synopsis
<channel="#channel">
Logfile="/home/foo/eggdrop/logs/mylog.txt"
Format = "eggdrop"
</channel>
<set Logfile="foo.log">
|
Description
This defines the filename of the logfile to parse for the channel. If you want to parse a directory full of logfiles, you should use the LogDir option instead. Providing this option multiple times will parse multiple files in the order the statements appear. Wildcards (* ? []) will be expanded. See also LogDir and NFiles.
LogDir
Synopsis
<channel="#channel">
LogDir="/home/foo/eggdrop/logs/"
Format = "eggdrop"
</channel>
<set LogDir="dailylogs/">
|
Description
When LogDir is defined to valid path to a directory, then pisg will run through that directory, parse all logfiles in it and create one HTML page from it. Useful with for example eggdrop logs. Providing this option multiple times will parse all the files in multiple directories in the order the statements appear. See also NFiles, LogPrefix, and LogSuffix.
NFiles
Synopsis
<channel="#channel">
LogDir="/home/foo/eggdrop/logs/"
NFiles="8"
Format="eggdrop"
</channel>
<set NFiles="8">
|
Description
When NFiles is set to a positive integer, pisg will process only the last that much logfiles from Logfile and LogDir options. Useful to create statistics that cover the last week or month (assuming there are separate logfile per day/week/etc.).
Maintainer
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
Maintainer = "Benny"
</channel>
<set Maintainer="Benny">
|
Description
Maintainer is used to define the name of the maintainer of the statistics page, this can be either the person generating the stats or the bot/client doing the logging. The maintainer is displayed in the outputted stats page. This setting is also used by some log parsers where "You" is used instead of the nick in the log (e.g. "You have been kicked"). See also Format, NickTracking.
ColorScheme
Synopsis
<channel="#channel">
Logfile = "channel.log"
ColorScheme = "darkgalaxy"
Maintainer = "John"
</channel>
<set ColorScheme="default">
|
Description
ColorScheme is used to define the color scheme used for the statistics page. Actually it's the CSS file being included. CSS files distributed with pisg are: darkgalaxy, darkred, default, justgrey, ocean, orange_grey, pisg, softgreen (omit the .css). The file will be included statically in the generated HTML page. If you give a file name or URL (i.e. a color scheme name with .css or a path), the file will be linked to instead. Using "none" will cause pisg to write only the body of the page; use this to include the statistics into a custom page. See also CssDir, AltColorScheme, HiCell/HiCell2.
AltColorScheme
Synopsis
<channel="#channel">
Logfile = "channel.log"
ColorScheme = "darkgalaxy"
AltColorScheme = "layout/ocean.css"
Maintainer = "John"
</channel>
<set AltColorScheme="layout/darkgalaxy.css layout/justgrey.css">
|
Description
AltColorScheme defines an alternate CSS file to be used for the statistics page. Multiple files can be given (space separated.) Note that this is not supported by all browsers. See also ColorScheme and CssDir.
Lang
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
Lang = "DE"
OutputFile = "mychan-%l.html"
</channel>
<set Lang="FR,SE">
|
Description
Lang defines the language to use for the stats. Currently, lang.txt includes: EN (English), BG (Bulgarian), CA (Catalan), CZ (Czech), DA (Danish), DE (German), EE (Estonian), ES (Spanish), FI (Finnish), FR (French), GR (Greek), HE (Hebrew), HU (Hungarian), IS (Icelandic), IT (Italian), NL (Dutch), NL_BE (Flemish), NO (Norwegian), PL (Polish), PT (Portuguese), PT_BR (Portuguese/Brazil), RO (Romanian), RU (Russian), SE (Swedish), SI (Slovenian), SK (Slovak), SQ (Albanian), TR (Turkish), YU (Serbian). Output in several languages can be generated at the same time, separate the languages by comma. The tag %l in the output file name will be replaced by the language name. See also LangFile.
PageHead
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
OutputFile = "stats.html"
PageHead = "myheader.txt"
</channel>
<set PageHead="someheader.txt">
|
Description
PageHead is used to include a file in the stats page, for example an introduction text, a link to an image or a banner. The file can hold anything, it will be included raw in the stats page - so HTML should be preferred. The file will be included in the top of the page. This option is the opposite of PageFoot.
PageFoot
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
outputfile = "stats.html"
PageFoot = "myfooter.txt"
</channel>
<set PageFoot="somefooter.txt">
|
Description
PageFoot is used to include a file in the stats page, for example an introduction text, a link to an image or a banner. The file can hold anything, it will be included raw in the stats page - so HTML should be preferred. The file will be included in the bottom of the page. This option is the opposite of PageHead.
LogPrefix
Synopsis
<channel="#channel">
LogDir="/home/foo/eggdrop/logs/"
Format = "eggdrop"
LogPrefix = "logjun"
</channel>
<set LogPrefix="logjanuary">
|
Description
When using the LogDir option and you only want to use a slew of the files in it, you can have pisg choose only files which are prefixed with a special string.
LogSuffix
Synopsis
<set LogSuffix="\.\d\d([A-Za-z]+)\d\d\d\d||\.(\d\d)[A-Za-z]+\d\d\d\d||\.\d\d[A-Za-z]+(\d\d\d\d)">
|
Description
LogSuffix is used to define the suffix of a logfile, it only works when LogDir is defined. The example in the synopsis is for the eggdrop bots default format.
Silent
Description
This option is useful mainly from command line when invoking pisg with --silent 1. But it can also used in the configuration file. It will suppress all standard output from pisg. Error messages will still be sent.
CacheDir
Description
Setting this option makes pisg dump the results of log parsing into cache files. The next time pisg is run, it compares the timestamp of the log(s) with the timestamp stored in the cache file. When the log was not changed, the cached data is used. (This means that it does not work if you only have a single big logfile. Split the log at arbitrary points and use LogDir or Logfile="dir/*".)
Note that the cache files should be deleted when the pisg config file is changed since the cache data uses the old config settings. NickTracking does not work especially well with the cache when using different NFiles settings.
Options for various statistics features
DailyActivity
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
DailyActivity = "0"
</channel>
<set DailyActivity="31">
|
Description
This option sets the number of days to show in the "Daily activity" section. Pisg will generate a graph that shows the actitivy during this timeframe. Setting the option to 0 disables the section.
ShowActiveTimes
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowActiveTimes = "0"
</channel>
<set ShowActiveTimes="1">
|
Description
With this option you can disable the "Most Active Times" section on the stats page. It will simply disappear when specifying 0.
ShowActiveNicks
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowActiveNicks = "0"
</channel>
<set ShowActiveNicks="1">
|
ShowBigNumbers
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowBigNumbers = "0"
</channel>
<set ShowBigNumbers="1">
|
Description
With this option you can disable the "Big Numbers" and "Other Interesting numbers" sections on the stats page. They will simply disappear when specifying 0.
ShowTopics
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowTopics = "0"
</channel>
<set ShowTopics="1">
|
Description
With this option you can disable the "Latest topics" section on the stats page. It will simply disappear when specifying 0.
ShowLines
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowLines = "0"
</channel>
<set ShowLines="1">
|
Description
The default behaviour is to add a column to the "Most Active Nicks" section displaying the number of lines a user wrote. With this option it can be disabled.
ShowWpl
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowWpl = "0"
</channel>
<set ShowWpl="1">
|
Description
With this option you can enable the "words per line" column in the "Most Active Nicks" section. It will add a column describing the average words per line for a person.
ShowCpl
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowCpl = "0"
</channel>
<set ShowCpl="1">
|
Description
With this option you can enable the "characters per line" column in the "Most Active Nicks" section. It will add a column describing the average number of characters per line for a person.
ShowWords
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowWords = "0"
</channel>
<set ShowWords="1">
|
Description
The ShowWords option adds a column to the "Most Active Nicks" list which list the total number of words a user has typed.
ShowLastSeen
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowLastSeen = "0"
</channel>
<set ShowLastSeen="1">
|
Description
With this option enabled, a column will be added to the "Most Active Nicks" section to display when a user was last seen. E.g. "2 days ago".
ShowTime
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowTime = "0"
</channel>
<set ShowTime="1">
|
Description
The default behaviour is to add a column to the "Most Active Nicks" section displaying a fancy time bar to show when a user was active. With this option it can be disabled.
ShowLineTime
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowLineTime = "0"
</channel>
<set ShowLineTime="1">
|
Description
The default behaviour is to add a column to the "Most Active Nicks" section displaying a fancy time bar to show when a user was active. With this option it can be done the same way as mIRCStats does it; that is, by putting that time bar next to the number of lines, in the same column.
ShowWordTime
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowWordTime = "0"
</channel>
<set ShowWordTime="1">
|
Description
The default behaviour is to add a column to the "Most Active Nicks" section displaying a fancy time bar to show when a user was active. With this option it can be done similarly to mIRCStats does it and like the ShowLineTime option, but using words instead of lines; that is, by putting that time bar next to the number of words, in the same column.
ShowRandQuote
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowRandQuote = "0"
</channel>
<set ShowRandQuote="1">
|
Description
The default behaviour is to add a column to the "Most Active Nicks" section displaying a users random quote. With this option it can be disabled.
ShowLegend
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowLegend = "0"
</channel>
<set ShowLegend="1">
|
Description
By default, pisg shows a legend below the "Most Active Times" displaying what the different colors means. With this option it can be disabled.
ShowKickLine
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowKickLine = "0"
</channel>
<set ShowKickLine="1">
|
Description
By default, pisg shows an example kick line in the "Most kicked"-stats. With this option it can be disabled.
ShowActionLine
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowActionLine = "0"
</channel>
<set ShowActionLine="1">
|
Description
By default, pisg shows an example action line in the "Most actions"-stats. With this option it can be disabled.
ShowShoutLine
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowShoutLine = "0"
</channel>
<set ShowShoutLine="1">
|
Description
By default, pisg shows an example shout line in the "Most shouting people"-stats. With this option it can be disabled.
ShowFoulDecimals
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowFoulDecimals = "2"
</channel>
<set ShowFoulDecimals="1">
|
Description
By default, pisg uses 1 decimal. With this option you could change it to whatever you like. Negative is treated as the default value.
ShowFoulLine
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowFoulLine = "0"
</channel>
<set ShowFoulLine="1">
|
Description
By default, pisg doesn't show an example foul line in the "Most fouls"-stats. With this option it can be enabled.
ShowViolentLines
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "bobot"
ShowViolentLines = "0"
</channel>
<set ShowViolentLines="1">
|
Description
By default, pisg shows example violent lines in the "Most aggressive" and "Most attacked"-stats. With this option it can be disabled.
ShowMuw
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMuw = "0"
</channel>
<set ShowMuw="1">
|
Description
By default, pisg adds an "Most used words" section to the stats page. With this option you can disable it from being shown. See also WordHistory.
ShowMrn
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMrn = "0"
</channel>
<set ShowMrn="1">
|
Description
By default, pisg adds an "Most referenced nicks" section to the stats page. With this option you can disable it from being shown. See also NickHistory.
ShowMru
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMru = "0"
</channel>
<set ShowMru="1">
|
Description
By default, pisg adds an "Most referenced URLs" section to the stats page. With this option you can disable it from being shown. See also UrlHistory.
ShowCharts
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowCharts = "0"
</channel>
<set ShowCharts="1">
|
Description
With this option set, pisg creates a chart listing of the top songs played on the channel. See also ChartsHistory and ChartsRegexp.
ShowOps
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowOps = "0"
</channel>
<set ShowOps="0">
|
Description
By default, pisg has op statistics in the "Most interesting numbers" section. Here you can disable the feature, it's useful if you don't feel that the information is of any value, or your log format doesn't support ops/deops.
ShowVoices
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowVoices = "0"
</channel>
<set ShowVoices="1">
|
Description
By default, pisg doesn't have voice statistics like it has op statistics. Enabling this option will add a section to the "Most interesting numbers" displaying who got most voices.
ShowHalfops
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowHalfops = "0"
</channel>
<set ShowHalfops="1">
|
Description
By default, pisg doesn't have halfop statistics (+h on some servers) like it has op statistics. Enabling this option will add a section to the "Most interesting numbers" displaying who gave most half-ops.
ShowMostNicks
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMostNicks = "0"
</channel>
<set ShowMostNicks="1">
|
Description
By enabling this option, pisg will add a section to the stats showing who had the most nicks, and what the nicks were. This option only works properly when NickTracking is enabled or user aliases have been defined. See also MostNicksHistory, MostNicksVerbose, and NickLimit.
ShowActiveGenders
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowActiveGenders = "0"
</channel>
<set ShowActiveGenders="1">
|
Description
Setting this option will make pisg create statistics on which gender (female/male/bot) talked most (see the "sex" option in the Section called Specifying user options in the Chapter called Setting up pisg for the first time). See also NickLimit.
ShowSmileys
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowSmileys = "0"
</channel>
<set ShowSmileys="1">
|
Description
With this option, pisg will make a list of the most used smileys in the channel. See also SmileyHistory.
ShowKarma
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowKarma = "0"
</channel>
<set ShowKarma="1">
|
Description
With this option, pisg will analyze the channel karma. Users can give other users (or things) good or bad karma by saying "nickname++" or "nickname--"; "nickname==" resets it to zero. Only the last karma is remembered per nick/nick combination, so there is at most +- 1 karma point. See also KarmaHistory and NickLimit.
ShowMostActiveByHour
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMostActiveByHour = "0"
</channel>
<set ShowMostActiveByHour="1">
|
Description
By enabling this option, pisg will add a section to the stats showing "Most Active Nicks By Hour" - also look at the ShowMostActiveByHourGraph and ActiveNicksByHour settings.
ShowOnlyTop
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowOnlyTop = "1"
</channel>
<set ShowOnlyTop="1">
|
Description
By enabling this option, stats in the "Big Numbers" and "Interesting Numbers" section will only be counted for users who were the most active. E.g. users who appear in the "Most Active Nicks" section, as respected by the ActiveNicks and ActiveNicks2 options. See also BigNumbersThreshold.
ShowMostActiveByHourGraph
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
ShowMostActiveByHourGraph = "0"
</channel>
<set ShowMostActiveByHour="1">
<set ShowMostActiveByHourGraph="1">
|
Description
By enabling this option and the ShowMostActiveByHour option, pisg will show graphs in the "Most Active Nicks By Hour" section.
IgnoreWords
Description
Sometimes words in the "most used words" appears which you don't want to see, with this option you can ignore these words. It also applies to the "most referenced nicks" section. It's a space separated list of words. You can use * like in nick aliases. Can not be used in a channel-only context.
NoIgnoredQuotes
Description
When set to "1", pisg will not output quotes containing ignored words. Pisg will output a blank line after trying 20 random quotes if all 20 random quotes were ignored.
FoulWords
Description
There is a section in the "Most interesting numbers" which tells who had a "dirty mouth" - here you can define which words are considered being bad/foul. It is a space separated list of words. You can use * like in nick aliases. Can not be used in a channel-only context.
ViolentWords
Description
There is a section in the "Most interesting numbers" which tells who is most "aggressive" - here you can define which words are considered being "violent". It is a space separated list of words. You can use * like in nick aliases. Can not be used in a channel-only context.
MinQuote
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
MinQuote = "10"
</channel>
<set MinQuote="5">
|
Description
The random quotes displayed in the "Most Active Nicks" section will be picked from a length range. With this option you can change the minimum number of letters required for a random quote. Also see the MaxQuote option. Note that pisg will still choose a short quote if it cannot find a longer one.
MaxQuote
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
MaxQuote = "70"
</channel>
<set MaxQuote="100">
|
Description
The random quotes displayed in the "Most Active Nicks" section will be picked from a length range. With this option you can change the maximum number of letters required for a random quote. Also see the MinQuote option.
WordLength
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
WordLength = "10"
</channel>
<set WordLength="2">
|
Description
The "Most Used Words" section on the stats page display the most used words. The default is that a word only appears if it is longer than 5 characters. With this option you can change that minimum.
QuoteWidth
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
QuoteWidth = "48"
</channel>
<set QuoteWidth="48">
|
Description
Pisg will automatically insert a space in words that have a length over the amount QuoteWidth is set to. When used in breaking up URLs it will insert a space in the displayed URL, but not in the actual URL referenced by the HREF.
BigNumbersThreshold
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
BigNumbersThreshold = "10"
</channel>
<set BigNumbersThreshold="sqrt">
|
Description
Pisg will ignore users with less than this setting lines in the "questions asked", "shouts loudest", "CAPSLOCK", "longest line", "most sad", and "most happy" sections. If the setting is "sqrt" (the default), it will be dynamically replaced with the square root of the number of lines of the most active nick. See also ShowOnlyTop.
ActiveNicks
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ActiveNicks = "50"
</channel>
<set ActiveNicks="10">
|
Description
With this option you can define how many nicks you want to appear in the "Most Active Nicks" section on the stats page.
ActiveNicks2
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ActiveNicks2 = "25"
</channel>
<set ActiveNicks2="10">
|
Description
With this option you can define how many nicks you want to appear in the "These didn't make it" section on the stats page.
ActiveNicksByHour
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ActiveNicksByHour = "25"
</channel>
<set ActiveNicksByHour="10">
|
Description
With this option you can define how many nicks you want to appear in the "Most Active Nicks By Hour" section on the stats page.
MostNicksHistory
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
MostNicksHistory = "2"
</channel>
<set MostNicksHistory="10">
|
Description
With this option you can define how many nicks you want to appear in the "Users with most nicknames" section. See also ShowMostNicks and MostNicksVerbose.
MostNicksVerbose
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
MostNicksVerbose = "0"
</channel>
<set MostNicksVerbose="1">
|
Description
By disabling this option you can stop pisg from displaying all the nicks a user has had in the "Most used nicks" section. See also ShowMostNicks, MostNicksHistory, and NickLimit.
TopicHistory
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
TopicHistory = "2"
</channel>
<set TopicHistory="10">
|
Description
With this option you can define how many topics you want to appear in the "Latest topics" section.
UrlHistory
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
UrlHistory = "2"
</channel>
<set UrlHistory="10">
|
Description
With this option you can define how many URLs you want to appear in the "Most referenced URLs" section. See also ShowMru.
ChartsHistory
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ChartsHistory = "10"
</channel>
<set ChartsHistory="5">
|
Description
This option sets the number of songs that will be show in the channel music charts. See also ShowCharts and ChartsRegexp.
ChartsRegexp
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ChartsRegexp = "(?:is )?(?:np:|(?:now )?playing:? |listening to:? )(?:MPEG stream from)?\s*(.*)"
</channel>
|
Description
This option is a perl regexp that is used to recognize songs played. Please tell the pisg mailing list if you have a better default. The regexp MUST contain a single () pair to extract the song name. See also the perlre(1) manpage, ShowCharts and ChartsHistory.
WordHistory
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
WordHistory = "5"
</channel>
<set WordHistory="15">
|
Description
With this option you can define how many words you want to appear in the "Most used words" section. See also ShowMuw.
NickHistory
Synopsis
<channel="#channel">
logfile = "channel.log"
format = "mIRC"
NickHistory = "3"
</channel>
<set NickHistory="15">
|
Description
With this option you can define how many nicks you want to appear in the "Most referenced nicks" section. See also ShowMrn.
SmileyHistory
Synopsis
<channel="#channel">
logfile = "channel.log"
format = "mIRC"
SmileyHistory = "3"
</channel>
<set SmileyHistory="15">
|
KarmaHistory
Synopsis
<channel="#channel">
logfile = "channel.log"
format = "mIRC"
KarmaHistory = "3"
</channel>
<set KarmaHistory="15">
|
Description
At most this many nicks will appear in the good and bad karma stats. See also ShowKarma and NickLimit.
NickTracking
Description
Enabling this option will track nick changes as well as it can. It will then automatically create aliases for these nicks. Useful for ShowMostNicks and other stats. Nick tracking does not work for log formats that do not use the nickname for the person running the logger, but only show "You" there. See Maintainer.
NickLimit
Description
This option trims lists of nicks to a maximum length, replacing the rest with "...". Setting to 0 disables trimming. Affected are the used nicks in the "Users with most nicknames" section, nicks in "Most active genders", and nicks in the "Good/bad karma by" columns. See ShowMostNicks, ShowKarma, and ShowActiveGenders.
SortByWords
Synopsis
<channel="#channel">
logfile = "channel.log"
format = "xchat"
SortByWords = "0"
</channel>
<set SortByWords="1">
|
Picture options
PicLocation
Description
The location to the pictures used on the stats page - not the user pictures but the different bars in "Most Active Times".
UserPics
Description
UserPics allows you to configure the number of user pictures per row. Per default, one picture will be shown. Since pictures are usually higher than one line of text, this lets the table grow. With settings greater than 1, several pictures will be placed next to each other. A good setting would be UserPics=3 and pictures of size 60x60. Set UserPics to no or 0 to disable user pictures. The latter is useful if you share a user config file between channels and want to disable user pictures for some channels.
ImagePath
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ImagePath = "userpics/"
</channel>
<set ImagePath="users/">
|
Description
ImagePath defines the path to where user pictures are located, relative to the HTML page generated. The default is that user pictures is located in the same directory as the HTML page.
DefaultPic
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
DefaultPic = "not_available.jpg"
</channel>
<set DefaultPic="unknown.gif">
|
Description
DefaultPic defines a picture to be displayed for all users which have no other picture defined in the user element. This is good for showing "No picture available" or something. May contain globbing patterns, see ImageGlobPath below.
ImageGlobPath
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
ImageGlobPath = "users/"
</channel>
<set ImageGlobPath="/var/www/pisg/">
<set DefaultPic="default-??.gif">
|
Description
ImageGlobPath defines the path to the directory where user pictures are located, relative to the current directory. This setting is used to choose random pictures if ? or * (globbing characters) are used in the picture name. ? matches a single character, * matches a (possibly empty) string. The default is the ImagePath setting. (NB: This setting will be different from ImagePath if the latter is not relative to the current directory, e.g. if you are writing the HTML file outside of the current directory.)
PicWidth
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
PicWidth = "500"
</channel>
<set PicWidth="500">
|
Description
PicWidth defines the standard width for user pictures. Setting the 'width' attribute of image-elements on the outputted stats page. See also PicHeight.
PicHeight
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
PicHeight = "500"
</channel>
<set PicHeight="500">
|
Description
PicHeight defines the standard height for user pictures. Setting the 'height' attribute of image-elements on the outputted stats page. See also PicWidth.
Misc options
Charset
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
Charset = "utf-8"
</channel>
<set Charset="iso-8859-15">
|
Description
The pisg stats page defines a character set in a meta tag, this can be used if your country is using a different one than the default. Pisg will also use this setting to convert the language templates from LangFile if the language defines a source charset. Note: you also have to tell your webserver to transmit the charset to the browser. With Apache, use "AddDefaultCharset off" in the server config.
LogCharset
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
Charset = "iso-8859-1"
LogCharset = "utf-8"
</channel>
<set Charset="iso-8859-15">
<set LogCharset="iso-8859-15">
|
Description
If LogCharset is set and different from Charset, pisg will convert the charset using Text::Iconv. Using this option slows down log processing.
LogCharsetFallback
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "xchat"
Charset = "utf-8"
LogCharset = "utf-8"
LogCharsetFallback = "iso-8859-1"
</channel>
<set Charset="utf-8">
<set LogCharset="utf-8">
<set LogCharsetFallback="iso-8859-15">
|
Description
LogCharsetFallback defines a fallback charset for the LogCharset conversion. This is useful if you have mixed unicode/iso-8859-* logs. Pisg will first try the conversion from LogCharset. If that fails, LogCharsetFallback is used. Note that this only works for charsets where certain byte sequences are illegal, like UTF-8. (In short: LogCharset = utf-8, LogCharsetFallback = iso-8859-15 works, the other way round does not.)
TimeOffset
Synopsis
<channel="#channel">
Logfile = "channel.log"
Format = "mIRC"
Maintainer = "John"
TimeOffset = "+5"
</channel>
<set TimeOffset="+2">
|
Description
By default, pisg uses the time of the local machine to display the time of the generated stats. Sometimes when you have a shell on an external box, and it's in another country, you want to use another time. This is accomplished by the TimeOffset command.
RegexpAliases
Description
Enabling this option will make all aliases in <user> lines be parsed as regular expressions; this setting also applies to the IgnoreWords, FoulWords, and ViolentWords settings.
LangFile
Description
With this option you have an alternative way to define the name and/or path to the language file. Usually you don't have to touch this option.
CssDir
Description
CssDir is used to define the paths to the CSS files (the ColorSchemes). Usually you don't need to change this. This setting is only used when statically including the CSS file.
HiCell, HiCell2
Description
HiCell and HiCell2 define the colors to be used for the color gradient in the most active nicks section. They should match your ColorScheme. When setting HiCell the empty string (""), pisg will not generate a color gradient; you might want to use this with ColorScheme="none" or AltColorScheme.
LogType
Description
The type of logs kept for your channel. Currently only "Logfile" is supported, so you don't need to change this option.
StatsDump
Copyright and License
pisg - Perl IRC Statistics Generator
Copyright (C) 2001-2005 Morten Brix Pedersen - <morten at wtf.dk>
Copyright (C) 2003-2005 Christoph Berg <cb at df7cb.de>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
