1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
With the advent of the modules, an API becomes necessary. This
file is the place to document anything along those lines.
The main parts of pisg operate by passing around a %stats hash. That
hash is pretty big:
Key Type Index Description
--------------------------------------------------------------------------
words hash <nick> Number of words typed by given nick.
wordcounts hash <word> Number of times given word was used.
wordnicks hash <word> The last nick to use the given word.
times hash <hour> Number of lines typed in the channel during
the given hour (0..23).
lines hash <nick> Number of lines typed by the given nick (both
"normal" and action lines).
line_times hash <nick> $line_times{nick}[index] index ranges from
0 to 3 and contains a count of the number of
lines typed by that nick in the given time
period. Each index is a 6-hour block.
(e.g. 3 is from 18:00 to 23:59.)
monologues hash <nick> Number of times the given nick had a
monologue.
sayings hash <nick> Random normal line from the given nick.
questions hash <nick> Number of lines from the given nick that
ended in question marks.
shouts hash <nick> Number of lines ending in exclamation points.
allcaps hash <nick> Number of lines in ALL CAPS.
allcaplines hash <nick> Random line containing ALL CAPS.
foul hash <nick> Number of lines containing foul words.
foullines hash <nick> Lines containing foul words.
smiles hash <nick> Number of lines containing smiling faces.
frowns hash <nick> Number of lines containing sad faces.
urlcounts hash <url> Number of times each URL was mentioned.
urlnicks hash <url> Last nick to mention each URL.
lengths hash <nick> Total length of all lines from the given
nick.
actions hash <nick> Number of actions.
actionlines hash <nick> Random action line.
violence hash <nick> Number of times the given nick attacked
someone else.
violencelines hash <nick> Random example of the given nick attacking
someone.
attacked hash <nick> Number of times the given nick was attacked.
attackedlines hash <nick> Ramdom example of the given nick being
attacked.
gaveops hash <nick> Number of times the given nick granted ops.
tookops hash <nick> Number of times the given nick removed ops.
gavevoice hash <nick> Number of times the given nick granted voice.
tookvoice hash <nick> Number of times the given nick removed voice.
kicked hash <nick> Number of times the given nick kicked
someone.
gotkicked hash <nick> Number of times the give nick was kicked.
kicklines hash <nick> Random example of the given nick being
kicked.
joins hash <nick> Number of times the given nick joined the
channel.
topics array Each array element is a hash with the
following indices:
topic - The new channel topic.
nick - The person who set the topic.
hour - The hour in which the change took
place.
min - The minute in which the change took
place.
days scalar Number of days the reporting period spanned.
totallines scalar Total number of lines seen in file(s).
parsedlines scalar Total number of parseable lines (normal,
action, and third) seen in channel.
processtime hash A hash containing 'hours', 'mins' and 'secs',
describing the time elapsed while processing
this channel.
nicks hash A hash containing all nicks a user had through
a logfile. The keys are the nicks, and the values
is an array with their alternative nicknames.
|