AniDB O'Matic - mIRC script for statistics

From AniDB
Revision as of 20:55, 9 December 2007 by AnimeNeko (talk | contribs)
Jump to navigation Jump to search
#                    Made By AnimeNeko Thx to PetriW For this Option                       #
#                               Enable statwhoring in aom                                  #
# Replace e:\aom\MyStats.ini to the correct Directory and filename. But choose INI in aom. #
#                         You can use it in the ChatChannel and PM                         #

menu channel,query {
  -  
  AniDb Mystats: mystats
}
alias mystats {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) { 
    var %username $readini(%aom.file, anidb, username)
    var %anidbepcount $readini(%aom.file, anidb, episodecount)
    var %animecount $readini(%aom.file, mylist, animecount)
    var %totaleps $readini(%aom.file, mylist, episodecount)
    var %Tfilescount $readini(%aom.file, mylist, filecount)
    var %fileswatched $readini(%aom.file, mylist, fileswatched)
    var %mylistsize $readini(%aom.file, mylist, size)
    var %epswatched $readini(%aom.file, mylist, episodeswatched)
    var %watchedsize $readini(%aom.file, mylist, watchedsize)
    say %username has %animecount Animes, %totaleps Episodes, %Tfilescount files, Total $bytes(%mylistsize,g).suf $+ ( $+ $round($calc(%totaleps / %anidbepcount * 100 ),3) $+ % $+ ) of AniDB, %username Watched %epswatched Eps, $round($calc(%epswatched / %totaleps * 100 ),3) $+ % of mylist $+ , $bytes(%watchedsize,g).suf $+ , %fileswatched files, Which is $round($calc(%epswatched / %anidbepcount * 100 ),3) $+ % Of AniDB
  }
}

Copy the text and put it in notepad or so and name it StatWhoreing.mrc or a othername.mrc then do /load -rs othername.mrc to load it. After you copy the file into your mirc dir.

If you want your mylist size in GB. and not that it automatic converts to mb,gb,tb change $bytes(%mylistsize).suf into $bytes(%mylistsize,g).suf then it will only show the size of your mylist in GB's

  • Update/debug

fixed a small calculating error in the stats part.

edit: Adjusted the script for AOM 0.5.10+ and higher.

#                    Made By AnimeNeko Thx to PetriW For this Option                             #
#               Enable statwhoring in aom Use version 0.5.10.x or higher                         #
#    Replace e:\aom\MyStats.ini to the correct Directory and filename. But choose INI in aom.    #
#                      Works In chat Channel and in Private Message                              #
# Note in the Partially Watched status if you have everything seen and none partially seen it    #
# will only show Partially seen . The script hides the types where you dont have anything        #
#                                  partially seen in                                             #


menu channel,query {
  -
  AOM Stats
  .Mystats: mystats
  .Watched: watched
  .AnimeType
  ..TV Series: AnimeTypetv
  ..Specials: AnimeTypesp
  ..Movies: AnimeTypem
  ..Ova's: AnimeTypeova
  ..Web: AnimeTypeweb
  ..Other: AnimeTypeot
  ..Unknown: AnimeTypeun
  .Storage: storage
  .AniDB Stats: anidbstats
}

alias Anidbstats {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) { 
    var %animecountt $readini(%aom.file, anidb, animecount)
    var %totalepst $readini(%aom.file, anidb, episodecount)
    var %Tfilescountt $readini(%aom.file, anidb, filecount)
    var %group $readini(%aom.file, anidb, groupcount)
    var %sizet $readini(%aom.file, anidb, size)
    var %length $readini(%aom.file, anidb, length)
    var %tvtotal $readini(%aom.file, animetypeTVSeries, total)
    var %specialstotal $readini(%aom.file, animetypeTVSpecials, total)
    var %movietotal $readini(%aom.file, animetypeMovies, total)
    var %ovatotal $readini(%aom.file, animetypeOVAs, total)
    var %webtotal $readini(%aom.file, animetypeWeb, total)
    var %othertotal $readini(%aom.file, animetypeOther, total)
    var %unknowntotal $readini(%aom.file, animetypeUnknown, total)
    var %year $int($calc( (%length ) / (60*60*24*365) ))
    var %weeks $int($calc( (%length  )/ ( 60*60*24*7) - (%year * 365/7)  )) 
    var %days $int($calc( (%length  )/ (60*60*24) - (%year *365 ) - (%weeks *7) ))
    var %hour $int($calc( (%length ) / (60*60) - (%year *365*24) - (%weeks *7*24) - (%days *24) ))
    var %mins $int($calc( (%length ) / (60) - (%year *365*24*60) - (%weeks *7*24*60) - (%days *24*60) - (%hour *60)) )
    say Anidb Stats: %animecountt Animes( $+ %tvtotal Series, %specialstotal Specials, %movietotal Movies, %ovatotal OVAs, %webtotal Web, %othertotal Other, %unknowntotal Unknown $+ ), %totalepst Episodes, %Tfilescountt Files, %group Groups, size $bytes(%sizet,g).suf To watch it all it takes %year Year %weeks Weeks %days Days %hour Hour and %mins Minutes
  } 
}

alias mystats {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) { 
    var %username $readini(%aom.file, anidb, username)
    var %anidbepcount $readini(%aom.file, anidb, episodecount)
    var %animecount $readini(%aom.file, mylist, animecount)
    var %totaleps $readini(%aom.file, mylist, episodecount)
    var %Tfilescount $readini(%aom.file, mylist, filecount)
    var %mylistsize $readini(%aom.file, mylist, size)
    var %animewatched $readini(%aom.file, mylist, animewatched)
    var %animepartw $readini(%aom.file, mylist, animepartiallywatched)
    var %epswatched $readini(%aom.file, mylist, episodeswatched)
    var %fileswatched $readini(%aom.file, mylist, fileswatched)
    var %watchedsize $readini(%aom.file, mylist, watchedsize)
    var %tvmylist $readini(%aom.file, animetypeTVSeries, inmylist)
    var %specialsmylist $readini(%aom.file, animetypeTVSpecials, inmylist)
    var %moviemylist $readini(%aom.file, animetypeMovies, inmylist)
    var %ovamylist $readini(%aom.file, animetypeOVAs, inmylist)
    var %webmylist $readini(%aom.file, animetypeWeb, inmylist)
    var %othermylist $readini(%aom.file, animetypeOther, inmylist)
    var %unknownmylist $readini(%aom.file, animetypeUnknown, inmylist)
    say I have %animecount Animes( $+ $iif(%tvmylist = 0,,%tvmylist Series $+ $chr(44)) $iif(%specialsmylist = 0,,%specialsmylist Specials $+ $chr(44)) $iif(%moviemylist = 0,,%moviemylist Movies) $+ $iif(%ovamylist = 0,,$+ $chr(44) %ovamylist OVA's) $+ $iif(%webmylist = 0,,$+ $chr(44) %webmylist Web) $+ $iif(%othermylist = 0,,$+ $chr(44) %othermylist Other) $+ $iif(%unknownmylist = 0,,$+ $chr(44) %unknownmylist Unknown) $+ ), %totaleps Episodes, %Tfilescount files, Total $bytes(%mylistsize,g).suf $+ ( $+ $round($calc(%totaleps / %anidbepcount * 100 ),3) $+ % $+ ) of AniDB.
  }
}

alias watched {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) { 
    var %username $readini(%aom.file, anidb, username)
    var %anidbepcount $readini(%aom.file, anidb, episodecount)
    var %animecount $readini(%aom.file, mylist, animecount)
    var %totaleps $readini(%aom.file, mylist, episodecount)
    var %Tfilescount $readini(%aom.file, mylist, filecount)
    var %mylistsize $readini(%aom.file, mylist, size)
    var %animewatched $readini(%aom.file, mylist, animewatched)
    var %animepartw $readini(%aom.file, mylist, animepartiallywatched)
    var %epswatched $readini(%aom.file, mylist, episodeswatched)
    var %fileswatched $readini(%aom.file, mylist, fileswatched)
    var %watchedsize $readini(%aom.file, mylist, watchedsize)
    var %tvw $readini(%aom.file, animetypeTVSeries, allwatched)
    var %spw $readini(%aom.file, animetypeTVSpecials, allwatched)
    var %mw $readini(%aom.file, animetypeMovies, allwatched)
    var %ovaw $readini(%aom.file, animetypeOVAs, allwatched)
    var %webw $readini(%aom.file, animetypeWeb, allwatched)
    var %otw $readini(%aom.file, animetypeOther, allwatched)
    var %unw $readini(%aom.file, animetypeUnknown, allwatched)
    var %tvpw $readini(%aom.file, animetypeTVSeries, partwatched)
    var %sppw $readini(%aom.file, animetypeTVSpecials, partwatched)
    var %mpw $readini(%aom.file, animetypeMovies, partwatched)
    var %ovpw $readini(%aom.file, animetypeOVAs, partwatched)
    var %wpw $readini(%aom.file, animetypeWeb, partwatched)
    var %otpw $readini(%aom.file, animetypeOther, partwatched)
    var %unpw $readini(%aom.file, animetypeUnknown, partwatched)
    say i have seen $iif(%tvw = 0,,%tvw Series $+ $chr(44)) $iif(%spw = 0,,%spw Specials $+ $chr(44)) $iif(%mw = 0,,%mw Movies) $+ $iif(%ovaw = 0,,$+ $chr(44) %ovaw OVA's) $+ $iif(%webw = 0,,$+ $chr(44) %webw Web) $+ $iif(%otw = 0,,$+ $chr(44) %otw Other) $+ $iif(%unw = 0,,$+ $chr(44) %unw Unknown) $+ , Partially seen $iif(%tvpw = 0,,%tvpw Series $+ $chr(44)) $iif(%sppw = 0,,%sppw Specials $+ $chr(44)) $iif(%mpw = 0,,%mpw Movies) $+ $iif(%ovpw = 0,,$+ $chr(44) %ovpw OVA's) $+ $iif(%wpw = 0,,$+ $chr(44) %wpw Web) $+ $iif(%otpw = 0,,$+ $chr(44) %otpw Other) $+ $iif(%unpw = 0,,$+ $chr(44) %unpw Unknown) $+ . Total $calc(%animewatched + %animepartw) Animes, %epswatched Episodes( $+ $round($calc(%epswatched / %totaleps * 100 ),3) $+ % of Mylist), %Tfilescount Files, $bytes(%watchedsize,g).suf $+ , Which is $round($calc(%epswatched / %anidbepcount * 100 ),3) $+ % Of AniDB
  }
}

alias storage {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) { 
    var %StateUnknownc $readini(%aom.file, statusUnknown, count)
    var %StateUnknowns $readini(%aom.file, statusUnknown, size)
    var %StateUnknownw $readini(%aom.file, statusUnknown, watched)
    var %Statehddc $readini(%aom.file, statusOnHDD, count)
    var %Statehdds $readini(%aom.file, statusOnHDD, size)
    var %Statehddw $readini(%aom.file, statusOnHDD, watched)
    var %Statecdc $readini(%aom.file, statusOnCD, count)
    var %Statecds $readini(%aom.file, statusOnCD, size)
    var %Statecdw $readini(%aom.file, statusOnCD, watched)
    var %Statedelc $readini(%aom.file, statusDeleted, count)
    var %Statedels $readini(%aom.file, statusDeleted, size)
    var %Statedelw $readini(%aom.file, statusDeleted, watched)

    say State: Unknown: %StateUnknownc File's, $bytes(%StateUnknowns).suf $+ , Episodes Watched %StateUnknownw $+ , On HDD: %Statehddc File's, $bytes(%Statehdds).suf $+ , Episodes Watched %Statehddw $+ , On CD/DVD: %Statecdc File's, $bytes(%Statecds).suf $+ , Episodes Watched %Statecdw $+ , Deleted: %Statedelc File's, $bytes(%Statedels).suf $+ , Episodes Watched %Statedelw $+ .
  }
}

alias AnimeTypetv {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %tvt $readini(%aom.file, animetypeTVSeries, total)
    var %tvm $readini(%aom.file, animetypeTVSeries, inmylist)
    var %tvw1 $readini(%aom.file, animetypeTVSeries, allwatched)
    var %tvpw1 $readini(%aom.file, animetypeTVSeries, partwatched)
    say TV Series: In AniDB: %tvt In Mylist: %tvm Watched: %tvw1 Partially Watched: %tvpw1
  }
}

alias AnimeTypesp {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %spt $readini(%aom.file, animetypeTVSpecials, total)
    var %spm $readini(%aom.file, animetypeTVSpecials, inmylist)
    var %spw1 $readini(%aom.file, animetypeTVSpecials, allwatched)
    var %sppw1 $readini(%aom.file, animetypeTVSpecials, partwatched)
    say Specials: In AniDB: %spt - In Mylist: %spm - Watched: %spw1 - Partially Watched: %sppw1
  }
}

alias AnimeTypem {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %mt $readini(%aom.file, animetypeMovies, total)
    var %mm $readini(%aom.file, animetypeMovies, inmylist)
    var %mw1 $readini(%aom.file, animetypeMovies, allwatched)
    var %mpw1 $readini(%aom.file, animetypeMovies, partwatched)
    say Movies: In AniDB: %mt - In Mylist: %mm - Watched: %mw1 - Partially Watched: %mpw1
  }
}

alias AnimeTypeova {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %ot $readini(%aom.file, animetypeOVAs, total)
    var %om $readini(%aom.file, animetypeOVAs, inmylist)
    var %ovaw1 $readini(%aom.file, animetypeOVAs, allwatched)
    var %ovpw1 $readini(%aom.file, animetypeOVAs, partwatched)
    say OVAs: In AniDB: %ot - In Mylist: %om - Watched: %ovaw1 - Partially Watched: %ovpw1
  }
}

alias AnimeTypeweb {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %wt $readini(%aom.file, animetypeWeb, total)
    var %wm $readini(%aom.file, animetypeWeb, inmylist)
    var %webw1 $readini(%aom.file, animetypeWeb, allwatched)
    var %wpw1 $readini(%aom.file, animetypeWeb, partwatched)
    say Web: In AniDB: %wt - In Mylist: %wm - Watched: %webw1 - Partially Watched: %wpw1
  }
}

alias AnimeTypeot {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %ott $readini(%aom.file, animetypeOther, total)
    var %otm $readini(%aom.file, animetypeOther, inmylist)
    var %otw1 $readini(%aom.file, animetypeOther, allwatched)
    var %otpw1 $readini(%aom.file, animetypeOther, partwatched)
    say Other: In AniDB: %ott - In Mylist: %otm - Watched: %otw1 - Partially Watched: %otpw1
  }
}

alias AnimeTypeun {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %unt $readini(%aom.file, animetypeUnknown, total)
    var %unm $readini(%aom.file, animetypeUnknown, inmylist)
    var %unw1 $readini(%aom.file, animetypeUnknown, allwatched)
    var %unpw1 $readini(%aom.file, animetypeUnknown, partwatched)
    say Unknown: In AniDB: %unt - In Mylist: %unm - Watched: %unw1 - Partially Watched: %unpw1
  }
}


here i added a menu to show the AniDB stats, your own stats, and the state of the files. like X files unknown on hdd on cd and deleted. might still have bugs or so :P