AniDB O'Matic - mIRC script for statistics

From AniDB
Revision as of 22:48, 9 December 2007 by AnimeNeko (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
#                    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.

     Cleaned the code a little bit also Thx to light
#                    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 {
  AnimeTypeSay TVSeries animetypeTVSeries
}

alias AnimeTypesp {
  AnimeTypeSay TVSpecials animetypeTVSpecials  
}

alias AnimeTypem {
  AnimeTypeSay Movies animetypeMovies
}

alias AnimeTypeova {
  AnimeTypeSay OVAs animetypeOVAs
}

alias AnimeTypeweb {
  AnimeTypeSay Web animetypeWeb
}

alias AnimeTypeot {
  AnimeTypeSay Other animetypeOther
}

alias AnimeTypeun {
  AnimeTypeSay Unknown animetypeUnknown
}

alias AnimeTypeSay {
  var %aom.file e:\aom\MyStats.ini
  if ($exists(%aom.file)) {
    var %animetypeUnknown $$2
    var %total $readini(%aom.file, %animetypeUnknown, total)
    var %m $readini(%aom.file, %animetypeUnknown, inmylist)
    var %w1 $readini(%aom.file, %animetypeUnknown, allwatched)
    var %pw1 $readini(%aom.file, %animetypeUnknown, partwatched)
    say $$1: In AniDB: %total - In Mylist: %m - Watched: %w1 - Partially Watched: %pw1
    return 0
  }
}


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