2002-01-23 pisg documentation How to install and configure pisg 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 server. 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 OS'es such as Linux, FreeBSD, Windows and Mac. You will have a hard time finding an OS where Perl isn't supported. 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 this: Logfile = "channel.log" Format = "mIRC" Maintainer = "John" ]]> The above will define a channel called #channel, the logfile pisg will look for is called channel.log and the format of the logfile will be mIRC. The maintainer (which will be stated on the output page) is John. 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. Specifying user options User options are set with a simple XML-like syntax in the form: ]]> Remember, the nick is always required. For example to add aliases to a nick, then you could do this: ]]> The asterix (*) means that it will match all nicks starting with 'Joe^'. So it will add all Joe^'s to 'Joe' in the stats. Another thing you can do is to add a picture to a user: ]]> If you have a larger picture of the user as well, you can make the picture on the stats page link to it: ]]> You can also set a user's sex: ]]> Also you can add links to URLs and e-mails: ]]> or ]]> The last thing you can do is to ignore nicks (for example bots): ]]> You don't have to do all this in many lines, you could just as easily do: ]]> (Here the aliases are a space separated list of nicks, that also works! But * as a wildcard is smarter, although it is slower). Setting global options Many times, it will be useful to set up global options, global options are set like this: ]]> Any global option will override anything defined within channel elements (see ) For example, to change the background color of the stats page, you could do: ]]> You can set many options in a single set: ]]> The above will set the language on the statistics page to DE (Deutch, German) and set the timeoffset to +1. All options available are mentioned in the reference documentation. Ignoring links It's possible to ignore links in the "Most referenced URLs" section: ]]> 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 colorschemes for you to use, use the ColorScheme option when using them. The available colorschemes are: default, darkgalaxy. 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. 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. Reference for configuration options Channel Channel define channel name Logfile = "channel.log" Format = "mIRC" Maintainer = "John" ]]> Description Channel is used in two contexts, globally when using <set> and when defining new channels. It sets the name of the channel. Default Unset LogSuffix LogSuffix Regex to sort logfiles by format month||day||year ]]> 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 foramt. Default Unset Format Format the logfile format Logfile = "channel.log" Format = "eggdrop" Maintainer = "John" ]]> 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. Default mIRC ColorScheme ColorScheme use a different colorscheme for stats page Logfile = "channel.log" ColorScheme = "darkgalaxy" Maintainer = "John" ]]> Description ColorScheme is used to define the colorscheme used for the statistics page. Actually it's the CSS file being included. Available options are: default, darkgalaxy. Default default CssDir CssDir path to directory with css files ]]> Description CssDir is used to define the paths to the CSS files (the colorschemes). Usually you don't need to change this. Default layout/ (in current directory) Network Network the IRC network of the channel Logfile = "channel.log" Format = "eggdrop" Network = "Undernet" ]]> Description Network is used to set the network which the channel resides on, this name is displayed on the stats page. Default SomeIRCNetwork OutputFile OutputFile name of the generated HTML page Logfile = "channel.log" Format = "eggdrop" OutputFile = "mychan.html" ]]> Description OutputFile is used to define the name of the generated statistics page. Default index.html Maintainer Maintainer name of the maintainer Logfile = "channel.log" Format = "mIRC" Maintainer = "Benny" ]]> Description Maintainer is used to define the name of the maintaner 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. Default MAINTAINER Lang Lang define the language / translation to use Logfile = "channel.log" Format = "mIRC" Lang = "DE" ]]> Description Lang is used to define the language translation to use, if the language support is there, the text on the stats page will be outputted in that language. All supported languages is mentioned in the lang.txt file with the pisg distribution. Some of the languages supported is: EN | DE | DK | FR | ES | PL | PT | NO | NL | SE | EE | IT | HU | SI | FI Default EN (English) PageHead PageHead define a file as page header Logfile = "chaNnel.log" Format = "mIRC" OutputFile = "stats.html" PageHead = "myheader.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. Default none PageFoot PageFoot define a file as page footer Logfile = "channel.log" Format = "mIRC" outputfile = "stats.html" PageFoot = "myfooter.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. Default none ImagePath ImagePath path to user pictures Logfile = "channel.log" Format = "mIRC" ImagePath = "userpics/" ]]> Description ImagePath defines an alternative path to where user pictures is located. The default is that user pictures is located in the same directory as the HTML page. Default current directory DefaultPic DefaultPic use a default user picture Logfile = "channel.log" Format = "mIRC" DefaultPic = "not_available.jpg" ]]> 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. Default unset LogDir LogDir parse a directory full of logs LogDir="/home/foo/eggdrop/logs/" Format = "eggdrop" ]]> 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 1 HTML from it. Useful with for example eggdrop logs. Default unset LogPrefix LogPrefix only parse logs LogPrefixed with a userdefined string LogDir="/home/foo/eggdrop/logs/" Format = "eggdrop" LogPrefix = "logjun" ]]> 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. Default unset TimeOffset TimeOffset use a different time zone than the local machine Logfile = "channel.log" Format = "mIRC" Maintainer = "John" TimeOffset = "+5" ]]> 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. Default +0 ShowActiveTimes ShowActiveTimes enable/disable "Most Active Times" Logfile = "channel.log" Format = "xchat" ShowActiveTimes = "0" ]]> Description With this option you can disable the "Most Active Times" section on the stats page. It will simply disappear when specifying 0. Default 1 (enabled) ShowBigNumbers ShowBigNumbers enable/disable "Big Numbers" sections Logfile = "channel.log" Format = "xchat" ShowBigNumbers = "0" ]]> 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. Default 1 (enabled) ShowTopics ShowTopics enable/disable "Latest topics" sections Logfile = "channel.log" Format = "xchat" ShowTopics = "0" ]]> Description With this option you can disable the "Latest topics" section on the stats page. It will simply disappear when specifying 0. Default 1 (enabled) ShowWpl ShowWpl enable/disable "words per line" Logfile = "channel.log" Format = "xchat" ShowWpl = "0" ]]> Description With this option you can enable the "words per line" coloumn in the "Most Active Nicks" section. It will add a column describing the average words per line for a person. Default 0 (disabled) ShowCpl ShowCpl enable/disable "characters per line" Logfile = "channel.log" Format = "xchat" ShowCpl = "0" ]]> Description With this option you can enable the "characters per line" coloumn in the "Most Active Nicks" section. It will add a column describing the average number of characters per line for a person. Default 0 (disabled) ShowWords ShowWords enable/disable "number of words" Logfile = "channel.log" Format = "xchat" ShowWords = "0" ]]> Description The ShowWords option adds a column to the "Most Active Nicks" list which list the total number of words a user has typed. Default 0 (disabled) ShowLastSeen ShowLastSeen show when a user was last seen on a channel Logfile = "channel.log" Format = "xchat" ShowLastSeen = "0" ]]> Description With this option enabled, a column will be added to the "Most Active Nicks" section to display when a user was last seen. Eg. "2 days ago". Default 0 (disabled) ShowTime ShowTime show when a nick was active Logfile = "channel.log" Format = "xchat" ShowTime = "0" ]]> Description The default behaviour is to add a column to the "Most Active Nicks" section displaying a fancy timebar to show when a user was active. With this option it can be disabled. Default 1 (enabled) ShowLineTime ShowLineTime mIRCStats like behaviour of timebar Logfile = "channel.log" Format = "bobot" ShowLineTime = "0" ]]> Description The default behaviour is to add a column to the "Most Active Nicks" section displaying a fancy linetimebar 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 timebar next to the number of lines, in the same column. Default 0 (disabled) ShowRandQuote ShowRandQuote enable or disable the random quotes Logfile = "channel.log" Format = "bobot" ShowRandQuote = "0" ]]> 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. Default 1 (enabled) ShowLegend ShowLegend enable or disable the legend of the timebars Logfile = "channel.log" Format = "bobot" ShowLegend = "0" ]]> 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. Default 1 (enabled) ShowKickLine ShowKickLine enable or disable the kickline Logfile = "channel.log" Format = "bobot" ShowKickLine = "0" ]]> Description By default, pisg shows an example kickline in the "Most kicked"-stats. With this option it can be disabled. Default 1 (enabled) ShowActionLine ShowActionLine enable or disable the actionline Logfile = "channel.log" Format = "bobot" ShowActionLine = "0" ]]> Description By default, pisg shows an example actionline in the "Most actions"-stats. With this option it can be disabled. Default 1 (enabled) ShowShoutLine ShowShoutLine enable or disable the shoutline Logfile = "channel.log" Format = "bobot" ShowShoutLine = "0" ]]> Description By default, pisg shows an example shoutline in the "Most shouting people"-stats. With this option it can be disabled. Default 1 (enabled) ShowViolentLines ShowViolentLines enable or disable the violentlines Logfile = "channel.log" Format = "bobot" ShowViolentLines = "0" ]]> Description By default, pisg shows example violentlines in the "Most aggresive" and "Most attacked"-stats. With this option it can be disabled. Default 1 (enabled) ShowMuw ShowMuw enable or disable "Most used words" Logfile = "channel.log" Format = "xchat" ShowMuw = "0" ]]> Description By default, pisg adds an "Most used words" section to the stats page. With this option you can disable it from being shown. Default 1 (enabled) ShowMrn ShowMrn enable or disable "Most referenced nicks" Logfile = "channel.log" Format = "xchat" ShowMrn = "0" ]]> Description By default, pisg adds an "Most referenced nicks" section to the stats page. With this option you can disable it from being shown. Default 1 (enabled) ShowMru ShowMru enable or disable "Most referenced URLs" Logfile = "channel.log" Format = "xchat" ShowMru = "0" ]]> Description By default, pisg adds an "Most referenced URLs" section to the stats page. With this option you can disable it from being shown. Default 1 (enabled) ShowVoices ShowVoices enable or disable voice statistics Logfile = "channel.log" Format = "xchat" ShowVoices = "0" ]]> 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. Default 0 (disabled) ShowMostNicks ShowMostNicks show who changed nick most often Logfile = "channel.log" Format = "xchat" ShowMostNicks = "0" ]]> 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. Default 0 (disabled) IgnoreWords IgnoreWords ignore specified words ]]> 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 seperated list of words. Can not be used in a channel-only context. Default unset FoulWords FoulWords specify words considered to be bad/FoulWords language ]]> 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 seperated list of words. Can not be used in a channel-only context. Default ass fuck bitch shit scheisse scheiße kacke arsch ficker ficken schlampe ViolentWords ViolentWords specify words considered to be aggressive/violent ]]> 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 seperated list of words. Can not be used in a channel-only context. Default slaps beats smacks RegexpAliases RegexpAliases use regular expressions in user aliases ]]> Description Enabling this option will make all aliases in <user> lines be parsed as regular expressions. Default 0 (disabled) Silent Silent make pisg Silent, suppress messages ]]> Description This option is useful mainly from commandline 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. Default 0 (disabled) Charset Charset Charset to use for stats page Logfile = "channel.log" Format = "xchat" Charset = "utf-8" ]]> Description The pisg stats page defines a charset in a meta tag, this can be used if your country is using a different one than the default. Default iso-8859-1 MinQuote MinQuote minimum numbers of letters for a random quote Logfile = "channel.log" Format = "xchat" MinQuote = "10" ]]> Description The random quotes displayed in the "Most Active Nicks" section has a certain range specified. With this option you can change the minimum number of letters required for a random quote. Also see the maxquote option. Default 25 MaxQuote MaxQuote maximum numbers of letters for a random quote Logfile = "channel.log" Format = "xchat" MaxQuote = "70" ]]> Description The random quotes displayed in the "Most Active Nicks" section has a certain range specified. With this option you can change the maximum number of letters required for a random quote. Also see the minquote option. Default 65 WordLength WordLength minimum number of characters in an interesting word Logfile = "channel.log" Format = "xchat" WordLength = "10" ]]> 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. Default 5 ActiveNicks ActiveNicks nicks to show in "Most Active Nicks" Logfile = "channel.log" Format = "mIRC" ActiveNicks = "50" ]]> Description With this option you can define how many nicks you want to appear in the "Most Active Nicks" section on the stats page. Default 25 ActiveNicks2 ActiveNicks2 nicks to show in "These didn't make it.." Logfile = "channel.log" Format = "mIRC" ActiveNicks2 = "25" ]]> 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. Default 30 MostNicksHistory MostNicksHistory maximum number of nicks to show in "most nicks" Logfile = "channel.log" Format = "mIRC" MostNicksHistory = "2" ]]> Description With this option you can define how many nicks you want to appear in the "Most used nicks" section. Default 5 TopicHistory TopicHistory maximum number of topics to show Logfile = "channel.log" Format = "mIRC" TopicHistory = "2" ]]> Description With this option you can define how many topics you want to appear in the "Latest topics" section. Default 3 UrlHistory UrlHistory maximum number of urls to show Logfile = "channel.log" Format = "mIRC" UrlHistory = "2" ]]> Description With this option you can define how many urls you want to appear in the "Most referenced URLs" section. Default 5 WordHistory WordHistory maximum number of words to show Logfile = "channel.log" Format = "mIRC" WordHistory = "5" ]]> Description With this option you can define how many words you want to appear in the "Most used words" section. Default 10 NickHistory NickHistory maximum number of nicks to show Logfile = "channel.log" Format = "mIRC" NickHistory = "3" ]]> Description With this option you can define how many nicks you want to appear in the "Most referenced nicks" section. Default 5 LangFile LangFile filename of language file ]]> 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. Default lang.txt NickTracking NickTracking track nickchanges and create aliases ]]> Description Enabling this option will track nickchanges as well as it can. It will then automatically create aliases for these nicks. Default 0 (disabled) LogType LogType type of log (not the format of the log) ]]> Description The type of logs kept for your channel. Currently only "Logfile" is supported, so you don't need to change this option. Default Logfile